diff --git a/src/main/java/com/zivilon/cinder_loe/blocks/onionCrop.java b/src/main/java/com/zivilon/cinder_loe/blocks/onionCrop.java deleted file mode 100644 index 5e8753b..0000000 --- a/src/main/java/com/zivilon/cinder_loe/blocks/onionCrop.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.zivilon.cinder_loe.blocks; - -import com.zivilon.cinder_loe.CinderLoE; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import lotr.common.LOTRMod; -import net.minecraft.block.BlockCrops; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.EnumPlantType; - -public class onionCrop - extends BlockCrops { - @SideOnly(value=Side.CLIENT) - private IIcon[] onionIcons; - - @SideOnly(value=Side.CLIENT) - public IIcon getIcon(int i, int j) { - if (j < 7) { - if (j == 6) { - j = 5; - } - return this.onionIcons[j >> 1]; - } - return this.onionIcons[3]; - } - - @SideOnly(value=Side.CLIENT) - public void registerBlockIcons(IIconRegister iconregister) { - this.onionIcons = new IIcon[4]; - for (int i = 0; i < this.onionIcons.length; ++i) { - this.onionIcons[i] = iconregister.registerIcon(this.getTextureName() + "_" + i); - } - } - - - public Item func_149866_i() { - return CinderLoE.onion; - } - - public Item func_149865_P() { - return CinderLoE.onion; - } - - public EnumPlantType getPlantType(IBlockAccess world, int i, int j, int k) { - return EnumPlantType.Crop; - } -} diff --git a/src/main/java/com/zivilon/cinder_loe/blocks/cabbageCrop.java b/src/main/java/com/zivilon/cinder_loe/blocks/plants/cabbageCrop.java similarity index 95% rename from src/main/java/com/zivilon/cinder_loe/blocks/cabbageCrop.java rename to src/main/java/com/zivilon/cinder_loe/blocks/plants/cabbageCrop.java index cd25957..25e5668 100644 --- a/src/main/java/com/zivilon/cinder_loe/blocks/cabbageCrop.java +++ b/src/main/java/com/zivilon/cinder_loe/blocks/plants/cabbageCrop.java @@ -1,9 +1,8 @@ -package com.zivilon.cinder_loe.blocks; +package com.zivilon.cinder_loe.blocks.plants; import com.zivilon.cinder_loe.CinderLoE; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import lotr.common.LOTRMod; import net.minecraft.block.BlockCrops; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; diff --git a/src/main/java/com/zivilon/cinder_loe/blocks/plants/onionCrop.java b/src/main/java/com/zivilon/cinder_loe/blocks/plants/onionCrop.java new file mode 100644 index 0000000..5e959b6 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/blocks/plants/onionCrop.java @@ -0,0 +1,91 @@ +package com.zivilon.cinder_loe.blocks.plants; + +import com.zivilon.cinder_loe.CinderLoE; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockCrops; +import net.minecraft.block.IGrowable; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; + +import java.util.Random; + +public class onionCrop extends BlockCrops implements IGrowable { + private IIcon[] icons; + + public onionCrop() { + setBlockName("onionPlant"); + setBlockTextureName("lotr:onion"); + setTickRandomly(true); + setHardness(0.0F); + setStepSound(soundTypeGrass); + disableStats(); + } + + @Override + public void registerBlockIcons(IIconRegister iconRegister) { + icons = new IIcon[4]; + for (int i = 0; i < 4; ++i) { + icons[i] = iconRegister.registerIcon("lotr:onion_" + i); + } + } + @Override + public IIcon getIcon(int side, int meta) { + return icons[Math.min(meta, 3)]; + } + + @Override + public boolean canPlaceBlockOn(Block block) { + return block == Blocks.farmland; + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if (!world.isRemote && world.getBlockLightValue(x, y + 1, z) >= 9) { + int meta = world.getBlockMetadata(x, y, z); + if (meta < 3 && rand.nextInt(5) == 0) { + world.setBlockMetadataWithNotify(x, y, z, meta + 1, 2); + } + } + } + + @Override + public boolean func_149851_a(World world, int x, int y, int z, boolean isClient) { + return world.getBlockMetadata(x, y, z) < 3; + } + + @Override + public boolean func_149852_a(World world, Random rand, int x, int y, int z) { + return true; + } + + @Override + public void func_149853_b(World world, Random rand, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if (meta < 3) { + world.setBlockMetadataWithNotify(x, y, z, meta + 1, 2); + } + } + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return meta >= 3 ? CinderLoE.onion : null; + } + + @Override + public int quantityDropped(Random rand) { + return 1 + rand.nextInt(3); // 1–3 onions + } + + @Override + public Item getItem(World world, int x, int y, int z) { + return CinderLoE.onion; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/items/AlatarStaff.java b/src/main/java/com/zivilon/cinder_loe/items/specials/AlatarStaff.java similarity index 92% rename from src/main/java/com/zivilon/cinder_loe/items/AlatarStaff.java rename to src/main/java/com/zivilon/cinder_loe/items/specials/AlatarStaff.java index 751b1d4..bec77e3 100644 --- a/src/main/java/com/zivilon/cinder_loe/items/AlatarStaff.java +++ b/src/main/java/com/zivilon/cinder_loe/items/specials/AlatarStaff.java @@ -1,27 +1,23 @@ -package com.zivilon.cinder_loe.items; +package com.zivilon.cinder_loe.items.specials; import cpw.mods.fml.common.network.simpleimpl.IMessage; import java.util.List; -import lotr.common.LOTRCreativeTabs; + import lotr.common.LOTRLevelData; import lotr.common.LOTRMod; import lotr.common.fac.LOTRFaction; import lotr.common.network.LOTRPacketHandler; import lotr.common.network.LOTRPacketWeaponFX; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.potion.Potion; import net.minecraft.server.MinecraftServer; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; import com.zivilon.cinder_loe.items.WizardStaff;