Skip to content

Commit

Permalink
The great Nebuning
Browse files Browse the repository at this point in the history
Finished Quail model and texture
Removed effects from all artifacts
  • Loading branch information
GirafiStudios committed Nov 24, 2020
1 parent edfb80c commit ac0763a
Show file tree
Hide file tree
Showing 139 changed files with 230 additions and 439 deletions.
17 changes: 17 additions & 0 deletions src/main/java/com/teammetallurgy/atum/blocks/NebuTorchBlock.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.teammetallurgy.atum.blocks;

import com.teammetallurgy.atum.entity.undead.PharaohEntity;
import com.teammetallurgy.atum.init.AtumParticles;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.TorchBlock;
import net.minecraft.block.material.Material;

import javax.annotation.Nullable;

public class NebuTorchBlock extends TorchBlock {

public NebuTorchBlock(@Nullable PharaohEntity.God god) {
super(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.0F).setLightLevel(s -> 14).sound(SoundType.METAL), AtumParticles.NEBU_FLAME); //TODO make per god. Probably need hashmap when particles added
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,10 @@ public ActionResultType onBlockActivated(BlockState state, World world, @Nonnull
}

private boolean canSpawnPharaoh(World world, BlockPos pos, Direction facing) {
boolean isTopLeftCorner = world.getBlockState(pos.offset(facing.rotateY(), 2).offset(facing.getOpposite(), 1)).getBlock() == AtumBlocks.PHARAOH_TORCH;
boolean isBottomLeftCorner = world.getBlockState(pos.offset(facing.rotateY(), 2).offset(facing, 2)).getBlock() == AtumBlocks.PHARAOH_TORCH;
boolean isTopRightCorner = world.getBlockState(pos.offset(facing.rotateYCCW(), 3).offset(facing.getOpposite(), 1)).getBlock() == AtumBlocks.PHARAOH_TORCH;
boolean isBottomRightCorner = world.getBlockState(pos.offset(facing.rotateYCCW(), 3).offset(facing, 2)).getBlock() == AtumBlocks.PHARAOH_TORCH;
boolean isTopLeftCorner = world.getBlockState(pos.offset(facing.rotateY(), 2).offset(facing.getOpposite(), 1)).getBlock() == AtumBlocks.NEBU_TORCH;
boolean isBottomLeftCorner = world.getBlockState(pos.offset(facing.rotateY(), 2).offset(facing, 2)).getBlock() == AtumBlocks.NEBU_TORCH;
boolean isTopRightCorner = world.getBlockState(pos.offset(facing.rotateYCCW(), 3).offset(facing.getOpposite(), 1)).getBlock() == AtumBlocks.NEBU_TORCH;
boolean isBottomRightCorner = world.getBlockState(pos.offset(facing.rotateYCCW(), 3).offset(facing, 2)).getBlock() == AtumBlocks.NEBU_TORCH;
return isTopLeftCorner && isBottomLeftCorner && isTopRightCorner && isBottomRightCorner;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,43 +17,46 @@ public class QuailModel<T extends QuailEntity> extends AgeableModel<T> {
public ModelRenderer leftFoot;
public ModelRenderer rightFoot;
public ModelRenderer headFeather;
public ModelRenderer headFeather1;

public QuailModel() {
super();
this.textureWidth = 64;
this.textureHeight = 32;
this.leftFoot = new ModelRenderer(this, 26, 0);
this.leftFoot.setRotationPoint(1.0F, 21.0F, 1.0F);
this.leftFoot.addBox(-1.0F, 0.0F, -3.0F, 3, 3, 3, 0.0F);
this.head = new ModelRenderer(this, 0, 0);
this.beak = new ModelRenderer(this);
this.beak.setRotationPoint(0.0F, 17.0F, -4.0F);
this.beak.setTextureOffset(14, 0).addBox(-1.0F, -2.0F, -4.0F, 2.0F, 2.0F, 2.0F, 0.0F, false);
this.head = new ModelRenderer(this);
this.head.setRotationPoint(0.0F, 17.0F, -4.0F);
this.head.addBox(-1.5F, -6.0F, -2.0F, 3, 6, 3, 0.0F);
this.rightWing = new ModelRenderer(this, 24, 13);
this.rightWing.setRotationPoint(-3.5F, 15.0F, 0.0F);
this.rightWing.addBox(0.0F, 0.0F, -3.0F, 1, 4, 6, 0.0F);
this.body = new ModelRenderer(this, 0, 9);
this.head.setTextureOffset(0, 0).addBox(-1.5F, -4.0F, -2.0F, 3.0F, 6.0F, 3.0F, 0.0F, false);
this.headFeather = new ModelRenderer(this);
this.headFeather.setRotationPoint(0.0F, 1.0F, 0.0F);
this.head.addChild(this.headFeather);
this.headFeather1 = new ModelRenderer(this);
this.headFeather1.setRotationPoint(0.0F, 0.0F, 0.0F);
this.headFeather.addChild(this.headFeather1);
this.setRotateAngle(this.headFeather1, 0.0F, 0.0436F, 0.0F);
this.headFeather1.setTextureOffset(0, 24).addBox(0.0F, -7.2218F, -3.5355F, 0.0F, 3.0F, 2.0F, 0.0F, false);
this.body = new ModelRenderer(this);
this.body.setRotationPoint(0.0F, 18.0F, 0.0F);
this.body.addBox(-2.5F, -4.0F, -3.0F, 5, 8, 6, 0.0F);
this.setRotateAngle(this.body, 1.5707963267948966F, 0.0F, 0.0F);
this.rightFoot = new ModelRenderer(this, 26, 0);
this.rightFoot.setRotationPoint(-2.0F, 21.0F, 1.0F);
this.rightFoot.addBox(-1.0F, 0.0F, -3.0F, 3, 3, 3, 0.0F);
this.headFeather = new ModelRenderer(this, 0, 24);
this.headFeather.setRotationPoint(0.0F, 17.0F, -4.0F);
this.headFeather.addBox(-0.5F, -8.0F, 2.0F - 1.0F, 1, 3, 1, 0.0F); //Z altered, compared to exported model
this.setRotateAngle(this.headFeather, 0.7853981633974483F, 0.0F, 0.0F);
this.leftWing = new ModelRenderer(this, 24, 13);
this.setRotateAngle(this.body, 1.5708F, 0.0F, 0.0F);
this.body.setTextureOffset(0, 9).addBox(-2.5F, -4.0F, -4.0F, 5.0F, 8.0F, 6.0F, 0.0F, false);
this.rightWing = new ModelRenderer(this);
this.rightWing.setRotationPoint(-3.5F, 15.0F, 0.0F);
this.rightWing.setTextureOffset(24, 13).addBox(0.0F, 1.0F, -3.0F, 1.0F, 4.0F, 6.0F, 0.0F, false);
this.leftWing = new ModelRenderer(this);
this.leftWing.setRotationPoint(2.5F, 15.0F, 0.0F);
this.leftWing.addBox(0.0F, 0.0F, -3.0F, 1, 4, 6, 0.0F);
this.beak = new ModelRenderer(this, 14, 0);
this.beak.setRotationPoint(0.0F, 17.0F, -4.0F);
this.beak.addBox(-1.0F, -4.0F, -4.0F, 2, 2, 2, 0.0F);
this.leftWing.setTextureOffset(24, 13).addBox(0.0F, 1.0F, -3.0F, 1.0F, 4.0F, 6.0F, 0.0F, false);
this.leftFoot = new ModelRenderer(this);
this.leftFoot.setRotationPoint(1.0F, 21.0F, 1.0F);
this.leftFoot.setTextureOffset(26, 0).addBox(-1.0F, 0.0F, -3.0F, 3.0F, 3.0F, 3.0F, 0.0F, false);
this.rightFoot = new ModelRenderer(this);
this.rightFoot.setRotationPoint(-2.0F, 21.0F, 1.0F);
this.rightFoot.setTextureOffset(26, 0).addBox(-1.0F, 0.0F, -3.0F, 3.0F, 3.0F, 3.0F, 0.0F, false);
}

@Override
@Nonnull
protected Iterable<ModelRenderer> getHeadParts() {
return ImmutableList.of(this.head, this.beak, this.headFeather);
return ImmutableList.of(this.head, this.beak);
}

@Override
Expand All @@ -68,8 +71,6 @@ public void setRotationAngles(@Nonnull T entity, float limbSwing, float limbSwin
this.head.rotateAngleY = netHeadYaw * ((float) Math.PI / 180F);
this.beak.rotateAngleX = this.head.rotateAngleX;
this.beak.rotateAngleY = this.head.rotateAngleY;
this.headFeather.rotateAngleX = this.head.rotateAngleX;
this.headFeather.rotateAngleY = this.head.rotateAngleY;
this.body.rotateAngleX = ((float) Math.PI / 2F);
this.rightFoot.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
this.leftFoot.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount;
Expand Down
7 changes: 2 additions & 5 deletions src/main/java/com/teammetallurgy/atum/init/AtumBlocks.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.teammetallurgy.atum.init;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.blocks.AtumOresBlock;
import com.teammetallurgy.atum.blocks.PortalBlock;
import com.teammetallurgy.atum.blocks.SandLayersBlock;
import com.teammetallurgy.atum.blocks.StrangeSandBlock;
import com.teammetallurgy.atum.blocks.*;
import com.teammetallurgy.atum.blocks.base.AtumPaneBlock;
import com.teammetallurgy.atum.blocks.base.DoorAtumBlock;
import com.teammetallurgy.atum.blocks.linen.LinenBlock;
Expand Down Expand Up @@ -93,7 +90,7 @@ public class AtumBlocks {
public static final Block DEADWOOD_TORCH = registerTorch(new AtumTorchBlock(14), "deadwood_torch");
public static final Block LIMESTONE_TORCH = registerTorch(new AtumTorchBlock(14), "limestone_torch");
public static final Block BONE_TORCH = registerTorch(new AtumTorchBlock(14), "bone_torch");
public static final Block PHARAOH_TORCH = registerTorch(new AtumTorchBlock(14), "pharaoh_torch");
public static final Block NEBU_TORCH = registerTorch(new NebuTorchBlock(null), "nebu_torch");
public static final Block LIMESTONE_GRAVEL = registerBlock(new LimestoneGravelBlock(), "limestone_gravel");
public static final Block MARL = registerBlock(new Block(create(Material.CLAY).hardnessAndResistance(0.6F).sound(SoundType.GROUND).harvestTool(ToolType.SHOVEL).harvestLevel(0)), "marl");
public static final Block RA_STONE = registerBlock(new RaStoneBlock(), null, "ra_stone");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public class AtumEntities {
public static final EntityType<MummyEntity> MUMMY = registerMob("mummy", 0x515838, 0x868F6B, Builder.create(MummyEntity::new, EntityClassification.MONSTER).size(0.6F, 1.8F).trackingRange(8));
public static final EntityType<NomadEntity> NOMAD = registerMob("nomad", 0xC2C2C2, 0x7E0C0C, Builder.create(NomadEntity::new, EntityClassification.MONSTER).size(0.6F, 1.8F).trackingRange(8));
public static final EntityType<PharaohEntity> PHARAOH = registerMob("pharaoh", 0xD4BC37, 0x3A4BE0, Builder.create(PharaohEntity::new, EntityClassification.MONSTER).size(0.6F, 1.8F).immuneToFire().trackingRange(10));
public static final EntityType<QuailEntity> QUAIL = registerMob("quail", 0xCC9B72, 0xA47549, Builder.create(QuailEntity::new, EntityClassification.CREATURE).size(0.375F, 0.6F).trackingRange(10));
public static final EntityType<QuailEntity> QUAIL = registerMob("quail", 0xCC9B72, 0xA47549, Builder.create(QuailEntity::new, EntityClassification.CREATURE).size(0.3F, 0.6F).trackingRange(10));
public static final EntityType<ScarabEntity> SCARAB = registerMob("scarab", 0x61412C, 0x2F1D10, Builder.create(ScarabEntity::new, EntityClassification.MONSTER).size(0.4F, 0.3F).trackingRange(8));
public static final EntityType<SergeantEntity> SERGEANT = registerMob("sergeant", 0x444444, 0xC2C2C2, Builder.create(SergeantEntity::new, EntityClassification.MONSTER).size(0.6F, 1.8F).trackingRange(8));
public static final EntityType<StoneguardEntity> STONEGUARD = registerMob("stoneguard", 0x918354, 0x695D37, Builder.create(StoneguardEntity::new, EntityClassification.MONSTER).size(0.6F, 1.8F).immuneToFire().trackingRange(10));
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/teammetallurgy/atum/init/AtumItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ public class AtumItems {
public static final Item DATE = registerItem(new Item(new Item.Properties().food(Foods.APPLE).group(Atum.GROUP)), "date");
public static final Item GLISTERING_DATE = registerItem(new SimpleItem(), "glistering_date");
public static final Item GOLDEN_DATE = registerItem(new Item(new Item.Properties().food(AtumFoods.GOLDEN_DATE).group(Atum.GROUP)), "golden_date");
public static final Item ENCHANTED_GOLDEN_DATE = registerItem(new Item(new Item.Properties().food(AtumFoods.ENCHANTED_GOLDEN_DATE).group(Atum.GROUP)), "golden_date_enchanted");
public static final Item ENCHANTED_GOLDEN_DATE = registerItem(new EnchantedGoldenAppleItem(new Item.Properties().food(AtumFoods.ENCHANTED_GOLDEN_DATE).group(Atum.GROUP)), "golden_date_enchanted");
public static final Item ECTOPLASM = registerItem(new SimpleItem(), "ectoplasm");
public static final Item MANDIBLES = registerItem(new SimpleItem(), "mandibles");
public static final Item DUSTY_BONE = registerItem(new SimpleItem(), "dusty_bone");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

import javax.annotation.Nonnull;

Expand All @@ -22,12 +20,6 @@ public IdolOfLaborItem() {
super(new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@Override
@Nonnull
public ActionResult<ItemStack> onItemRightClick(World world, @Nonnull PlayerEntity player, @Nonnull Hand hand) {
Expand Down
11 changes: 0 additions & 11 deletions src/main/java/com/teammetallurgy/atum/items/ScarabItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,10 @@

import com.teammetallurgy.atum.Atum;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

import javax.annotation.Nonnull;

public class ScarabItem extends Item {

public ScarabItem() {
super(new Item.Properties().maxStackSize(1).group(Atum.GROUP));
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
import net.minecraft.potion.Effects;
import net.minecraft.util.Hand;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
Expand All @@ -30,12 +28,6 @@ public AnputsHungerItem() {
super(AtumMats.NEBU, new Item.Properties().rarity(Rarity.RARE));
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@Override
public void inventoryTick(@Nonnull ItemStack stack, @Nonnull World world, @Nonnull Entity entity, int itemSlot, boolean isSelected) {
if (entity instanceof PlayerEntity) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.*;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.item.SwordItem;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Hand;
import net.minecraft.util.SoundCategory;
Expand Down Expand Up @@ -56,12 +59,6 @@ public AnubisWrathItem() {
super(AtumMats.NEBU, 0, 0.0F, new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@Override
public float getAttackDamage() {
return this.attackDamage;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import net.minecraft.client.renderer.entity.model.BipedModel;
import net.minecraft.entity.LivingEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.IArmorMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,6 @@ public AtemsBountyItem() {
super(new Item.Properties().maxDamage(100).rarity(Rarity.RARE).group(Atum.GROUP));
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@Override
@OnlyIn(Dist.CLIENT)
public void addInformation(@Nonnull ItemStack stack, @Nullable World world, List<ITextComponent> tooltip, @Nonnull ITooltipFlag tooltipType) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,14 @@
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.Rarity;
import net.minecraft.util.DamageSource;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

import javax.annotation.Nonnull;

@Mod.EventBusSubscriber(modid = Atum.MOD_ID)
public class AtemsProtectionItem extends AtumShieldItem {
private static boolean isBlocking = false;
Expand All @@ -32,12 +26,6 @@ public AtemsProtectionItem() {
this.setRepairItem(AtumItems.NEBU_INGOT);
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@SubscribeEvent
public static void onUse(LivingEntityUseItemEvent.Tick event) {
LivingEntity entity = event.getEntityLiving();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.*;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.item.SwordItem;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.eventbus.api.EventPriority;
Expand All @@ -30,12 +31,6 @@ public AtemsWillItem() {
super(AtumMats.NEBU, 3, -2.4F, new Item.Properties().group(Atum.GROUP));
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@Override
@Nonnull
public Rarity getRarity(@Nonnull ItemStack stack) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.teammetallurgy.atum.init.AtumItems;
import net.minecraft.entity.LivingEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ArmorMaterial;
import net.minecraftforge.event.entity.living.LivingKnockBackEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import net.minecraft.entity.ai.attributes.ModifiableAttributeInstance;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ArmorMaterial;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@
import net.minecraft.entity.projectile.ArrowEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.Rarity;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

import javax.annotation.Nonnull;

Expand All @@ -22,12 +19,6 @@ public GebsGroundingItem() {
this.setRepairItem(AtumItems.NEBU_INGOT);
}

@Override
@OnlyIn(Dist.CLIENT)
public boolean hasEffect(@Nonnull ItemStack stack) {
return true;
}

@Override
protected ArrowEntity setArrow(@Nonnull ItemStack stack, World world, PlayerEntity player, float velocity) {
return new ArrowSlownessEntity(world, player, velocity);
Expand Down

0 comments on commit ac0763a

Please sign in to comment.