diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/Position.java b/src/main/java/de/ellpeck/actuallyadditions/api/Position.java index d58c19166..2cbb72451 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/Position.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/Position.java @@ -59,31 +59,23 @@ public class Position extends BlockPos{ } public int getMetadata(IBlockAccess world){ - //TODO Fix meta - return /*world != null ? world.getBlockMetadata(this.x, this.y, this.z) : */0; + return this.getBlock(world).getMetaFromState(this.getBlockState(world)); } - public void setMetadata(IBlockAccess world, int meta, int flag){ - //TODO Fix meta - /*if(world != null){ - world.setBlockMetadataWithNotify(this.x, this.y, this.z, meta, flag); - }*/ + public void setMetadata(World world, int meta, int flag){ + if(world != null){ + world.setBlockState(this, this.getBlock(world).getStateFromMeta(meta), flag); + } + } + + public boolean setBlock(World world, Block block, int meta, int flag){ + return world.setBlockState(this, block.getStateFromMeta(meta), flag); } public boolean isEqual(Position pos){ return pos != null && this.getX() == pos.getX() && this.getY() == pos.getY() && this.getZ() == pos.getZ(); } - public boolean setBlock(World world, Block block, int meta, int flag){ - //TODO Fix meta - return world != null && this.setBlockState(world, block.getDefaultState(), meta, flag); - } - - public boolean setBlockState(World world, IBlockState state, int meta, int flag){ - //TODO Fix meta - return world.setBlockState(this, state, flag); - } - public Position copy(){ return new Position(this.getX(), this.getY(), this.getZ()); } @@ -115,4 +107,8 @@ public class Position extends BlockPos{ public static Position fromBlockPos(BlockPos pos){ return (Position)pos; } + + public boolean setBlockState(World world, IBlockState state, int flag){ + return world.setBlockState(this, state, flag); + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java index 7f6f7b986..b4625cc17 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java @@ -38,7 +38,7 @@ public interface IAtomicReconstructor{ /** * Returns the world of the reconstructor */ - World getWorld(); + World getWorldObject(); /** * Extracts a specified amount of energy from the Reconstructor's RF storage diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java index 8269c01d9..c6db78090 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.api.block.IHudDisplay; import de.ellpeck.actuallyadditions.api.lens.ILensItem; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; @@ -17,33 +18,27 @@ import de.ellpeck.actuallyadditions.mod.tile.TileEntityAtomicReconstructor; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.profiler.Profiler; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockPos; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; +import net.minecraft.util.EnumFacing; import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class BlockAtomicReconstructor extends BlockContainerBase implements IHudDisplay{ - @SideOnly(Side.CLIENT) - private IIcon frontIcon; - @SideOnly(Side.CLIENT) - private IIcon topIcon; - public BlockAtomicReconstructor(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -54,40 +49,15 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ - int rotation = BlockPistonBase.determineOrientation(world, x, y, z, player); - world.setBlockMetadataWithNotify(x, y, z, rotation, 2); + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ + int rotation = BlockPistonBase.getFacingFromEntity(world, pos, player).ordinal(); + Position.fromBlockPos(pos).setMetadata(world, rotation, 2); - super.onBlockPlacedBy(world, x, y, z, player, stack); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ - int meta = world.getBlockMetadata(x, y, z); - if(side != meta && (side == 0 || side == 1)){ - return this.topIcon; - } - if(side == meta){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 0 || side == 1){ - return this.topIcon; - } - if(side == 3){ - return this.frontIcon; - } - return this.blockIcon; + super.onBlockPlacedBy(world, pos, state, player, stack); } @Override @@ -96,12 +66,12 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ - if(this.tryToggleRedstone(world, x, y, z, player)){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ + if(this.tryToggleRedstone(world, Position.fromBlockPos(pos), player)){ return true; } if(!world.isRemote){ - TileEntityAtomicReconstructor reconstructor = (TileEntityAtomicReconstructor)world.getTileEntity(x, y, z); + TileEntityAtomicReconstructor reconstructor = (TileEntityAtomicReconstructor)world.getTileEntity(pos); if(reconstructor != null){ ItemStack heldItem = player.getCurrentEquippedItem(); if(heldItem != null){ @@ -123,29 +93,21 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.frontIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Front"); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - } - @Override public TileEntity createNewTileEntity(World world, int i){ return new TileEntityAtomicReconstructor(); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } @Override @SideOnly(Side.CLIENT) public void displayHud(Minecraft minecraft, EntityPlayer player, ItemStack stack, MovingObjectPosition posHit, Profiler profiler, ScaledResolution resolution){ - TileEntity tile = minecraft.theWorld.getTileEntity(posHit.blockX, posHit.blockY, posHit.blockZ); + TileEntity tile = minecraft.theWorld.getTileEntity(posHit.getBlockPos()); if(tile instanceof TileEntityAtomicReconstructor){ ItemStack slot = ((TileEntityAtomicReconstructor)tile).getStackInSlot(0); String strg; @@ -157,7 +119,7 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud AssetUtil.renderStackToGui(slot, resolution.getScaledWidth()/2+15, resolution.getScaledHeight()/2-29, 1F); } - minecraft.fontRenderer.drawStringWithShadow(EnumChatFormatting.YELLOW+""+EnumChatFormatting.ITALIC+strg, resolution.getScaledWidth()/2+35, resolution.getScaledHeight()/2-25, StringUtil.DECIMAL_COLOR_WHITE); + minecraft.fontRendererObj.drawStringWithShadow(EnumChatFormatting.YELLOW+""+EnumChatFormatting.ITALIC+strg, resolution.getScaledWidth()/2+35, resolution.getScaledHeight()/2-25, StringUtil.DECIMAL_COLOR_WHITE); } } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBlackLotus.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBlackLotus.java index 4396c74fa..da6fdd6d2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBlackLotus.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBlackLotus.java @@ -11,11 +11,6 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBushBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockBlackLotus extends BlockBushBase{ @@ -23,15 +18,4 @@ public class BlockBlackLotus extends BlockBushBase{ super(name); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBreaker.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBreaker.java index 568657963..a59e4a5d4 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBreaker.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBreaker.java @@ -10,33 +10,25 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBreaker; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockBreaker extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon frontIcon; - @SideOnly(Side.CLIENT) - private IIcon topIcon; - private boolean isPlacer; public BlockBreaker(boolean isPlacer, String name){ @@ -54,69 +46,36 @@ public class BlockBreaker extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ - int meta = world.getBlockMetadata(x, y, z); - if(side != meta && (side == 0 || side == 1)){ - return this.topIcon; - } - if(side == meta){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 0 || side == 1){ - return this.topIcon; - } - if(side == 3){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ - if(this.tryToggleRedstone(world, x, y, z, player)){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ + if(this.tryToggleRedstone(world, Position.fromBlockPos(pos), player)){ return true; } if(!world.isRemote){ - TileEntityBreaker breaker = (TileEntityBreaker)world.getTileEntity(x, y, z); + TileEntityBreaker breaker = (TileEntityBreaker)world.getTileEntity(pos); if(breaker != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.BREAKER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.BREAKER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.frontIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Front"); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; + return EnumRarity.UNCOMMON; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ - int rotation = BlockPistonBase.determineOrientation(world, x, y, z, player); - world.setBlockMetadataWithNotify(x, y, z, rotation, 2); + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ + int rotation = BlockPistonBase.getFacingFromEntity(world, pos, player).ordinal(); + Position.fromBlockPos(pos).setMetadata(world, rotation, 2); - super.onBlockPlacedBy(world, x, y, z, player, stack); + super.onBlockPlacedBy(world, pos, state, player, stack); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoalGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoalGenerator.java index 9c73057e9..34e6f9ec0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoalGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoalGenerator.java @@ -10,20 +10,21 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.proxy.ClientProxy; import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoalGenerator; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumParticleTypes; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -32,11 +33,6 @@ import java.util.Random; public class BlockCoalGenerator extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon bottomIcon; - public BlockCoalGenerator(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -53,50 +49,36 @@ public class BlockCoalGenerator extends BlockContainerBase{ @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return side <= 1 ? (side == 0 ? this.bottomIcon : this.topIcon) : this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand){ - int meta = world.getBlockMetadata(x, y, z); + public void randomDisplayTick(World world, BlockPos pos, IBlockState state, Random rand){ + int meta = Position.fromBlockPos(pos).getMetadata(world); if(meta == 1){ for(int i = 0; i < 5; i++){ - world.spawnParticle(ClientProxy.bulletForMyValentine ? "heart" : "smoke", (double)x+0.5F, (double)y+1.0F, (double)z+0.5F, 0.0D, 0.0D, 0.0D); + world.spawnParticle(ClientProxy.bulletForMyValentine ? EnumParticleTypes.HEART : EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D); } } } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ - TileEntityCoalGenerator press = (TileEntityCoalGenerator)world.getTileEntity(x, y, z); + TileEntityCoalGenerator press = (TileEntityCoalGenerator)world.getTileEntity(pos); if(press != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.COAL_GENERATOR.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.COAL_GENERATOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - this.bottomIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Bottom"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; + return EnumRarity.RARE; } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java index 0a4cfc451..ca6d1da3a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java @@ -10,25 +10,23 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoffeeMachine; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockCoffeeMachine extends BlockContainerBase{ @@ -43,20 +41,9 @@ public class BlockCoffeeMachine extends BlockContainerBase{ this.setBlockBounds(f, 0F, f, 1F-f, 1F-2*f, 1F-f); } - @Override - public boolean renderAsNormalBlock(){ - return false; - } - @Override public int getRenderType(){ - return AssetUtil.coffeeMachineRenderId; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; + return AssetUtil.TESR_RENDER_ID; } @Override @@ -65,56 +52,51 @@ public class BlockCoffeeMachine extends BlockContainerBase{ } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int f6, float f7, float f8, float f9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing f6, float f7, float f8, float f9){ if(!world.isRemote){ - TileEntityCoffeeMachine machine = (TileEntityCoffeeMachine)world.getTileEntity(x, y, z); + TileEntityCoffeeMachine machine = (TileEntityCoffeeMachine)world.getTileEntity(pos); if(machine != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.COFFEE_MACHINE.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.COFFEE_MACHINE.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = Blocks.coal_block.getIcon(0, 0); - } - @Override public TileEntity createNewTileEntity(World world, int meta){ return new TileEntityCoffeeMachine(); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; + Position thePos = Position.fromBlockPos(pos); if(rotation == 0){ - world.setBlockMetadataWithNotify(x, y, z, 2, 2); + thePos.setMetadata(world, 0, 2); } if(rotation == 1){ - world.setBlockMetadataWithNotify(x, y, z, 1, 2); + thePos.setMetadata(world, 3, 2); } if(rotation == 2){ - world.setBlockMetadataWithNotify(x, y, z, 0, 2); + thePos.setMetadata(world, 1, 2); } if(rotation == 3){ - world.setBlockMetadataWithNotify(x, y, z, 3, 2); + thePos.setMetadata(world, 2, 2); } - super.onBlockPlacedBy(world, x, y, z, player, stack); + super.onBlockPlacedBy(world, pos, state, player, stack); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java index 450911ae2..10e2a0fd0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.api.block.IHudDisplay; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.items.ItemFertilizer; @@ -18,22 +19,17 @@ import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems; import de.ellpeck.actuallyadditions.mod.tile.TileEntityCompost; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.profiler.Profiler; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.*; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -52,35 +48,24 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ this.setBlockBoundsForItemRender(); } - @Override - public boolean renderAsNormalBlock(){ - return false; - } - @Override public int getRenderType(){ - return AssetUtil.compostRenderId; + return AssetUtil.TESR_RENDER_ID; } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; - } - - @Override - public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB mask, List list, Entity collidingEntity){ + public void addCollisionBoxesToList(World world, BlockPos pos, IBlockState state, AxisAlignedBB mask, List list, Entity collidingEntity){ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.3125F, 1.0F); - super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); float f = 0.125F; this.setBlockBounds(0.0F, 0.0F, 0.0F, f, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, f); - super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); this.setBlockBounds(1.0F-f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); this.setBlockBounds(0.0F, 0.0F, 1.0F-f, 1.0F, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); this.setBlockBoundsForItemRender(); } @@ -90,10 +75,10 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int f6, float f7, float f8, float f9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing f6, float f7, float f8, float f9){ if(!world.isRemote){ ItemStack stackPlayer = player.getCurrentEquippedItem(); - TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(x, y, z); + TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(pos); //Add items to be composted if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < TileEntityCompost.AMOUNT))){ if(tile.slots[0] == null){ @@ -129,32 +114,26 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ this.setBlockBounds(f, 0.0F, f, 1.0F-f, 1.0F, 1.0F-f); } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = Blocks.planks.getIcon(0, 0); - } - @Override public TileEntity createNewTileEntity(World world, int meta){ return new TileEntityCompost(); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; + return EnumRarity.UNCOMMON; } @Override @SideOnly(Side.CLIENT) public void displayHud(Minecraft minecraft, EntityPlayer player, ItemStack stack, MovingObjectPosition posHit, Profiler profiler, ScaledResolution resolution){ - TileEntity tile = minecraft.theWorld.getTileEntity(posHit.blockX, posHit.blockY, posHit.blockZ); + TileEntity tile = minecraft.theWorld.getTileEntity(posHit.getBlockPos()); if(tile instanceof TileEntityCompost){ ItemStack slot = ((TileEntityCompost)tile).getStackInSlot(0); String strg; @@ -166,7 +145,7 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ AssetUtil.renderStackToGui(slot, resolution.getScaledWidth()/2+15, resolution.getScaledHeight()/2-29, 1F); } - minecraft.fontRenderer.drawStringWithShadow(EnumChatFormatting.YELLOW+""+EnumChatFormatting.ITALIC+strg, resolution.getScaledWidth()/2+35, resolution.getScaledHeight()/2-25, StringUtil.DECIMAL_COLOR_WHITE); + minecraft.fontRendererObj.drawStringWithShadow(EnumChatFormatting.YELLOW+""+EnumChatFormatting.ITALIC+strg, resolution.getScaledWidth()/2+35, resolution.getScaledHeight()/2-25, StringUtil.DECIMAL_COLOR_WHITE); } } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java index fcf924794..080174425 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java @@ -13,16 +13,15 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -41,26 +40,21 @@ public class BlockCrystal extends BlockBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; - } - - @Override - public int damageDropped(int meta){ - return meta; + public int damageDropped(IBlockState state){ + return this.getMetaFromState(state); } @Override @SideOnly(Side.CLIENT) - public int getRenderColor(int meta){ - return meta >= allCrystals.length ? super.getRenderColor(meta) : allCrystals[meta].color; + public int getRenderColor(IBlockState state){ + int meta = this.getMetaFromState(state); + return meta >= allCrystals.length ? super.getRenderColor(state) : allCrystals[meta].color; } @Override @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z){ - return this.getRenderColor(world.getBlockMetadata(x, y, z)); + public int colorMultiplier(IBlockAccess world, BlockPos pos, int renderPass){ + return this.getRenderColor(world.getBlockState(pos)); } @SuppressWarnings("all") @@ -71,12 +65,6 @@ public class BlockCrystal extends BlockBase{ } } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - @Override public Class getItemBlock(){ return TheItemBlock.class; @@ -84,7 +72,7 @@ public class BlockCrystal extends BlockBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return stack.getItemDamage() >= allCrystals.length ? EnumRarity.common : allCrystals[stack.getItemDamage()].rarity; + return stack.getItemDamage() >= allCrystals.length ? EnumRarity.COMMON : allCrystals[stack.getItemDamage()].rarity; } public static class TheItemBlock extends ItemBlockBase{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDirectionalBreaker.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDirectionalBreaker.java index b4a172aab..89c55dba0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDirectionalBreaker.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDirectionalBreaker.java @@ -10,33 +10,25 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityDirectionalBreaker; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockDirectionalBreaker extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon frontIcon; - @SideOnly(Side.CLIENT) - private IIcon topIcon; - public BlockDirectionalBreaker(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -51,69 +43,36 @@ public class BlockDirectionalBreaker extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ - int meta = world.getBlockMetadata(x, y, z); - if(side != meta && (side == 0 || side == 1)){ - return this.topIcon; - } - if(side == meta){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 0 || side == 1){ - return this.topIcon; - } - if(side == 3){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ - if(this.tryToggleRedstone(world, x, y, z, player)){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ + if(this.tryToggleRedstone(world, Position.fromBlockPos(pos), player)){ return true; } if(!world.isRemote){ - TileEntityDirectionalBreaker breaker = (TileEntityDirectionalBreaker)world.getTileEntity(x, y, z); + TileEntityDirectionalBreaker breaker = (TileEntityDirectionalBreaker)world.getTileEntity(pos); if(breaker != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.DIRECTIONAL_BREAKER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.DIRECTIONAL_BREAKER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.frontIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Front"); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ - int rotation = BlockPistonBase.determineOrientation(world, x, y, z, player); - world.setBlockMetadataWithNotify(x, y, z, rotation, 2); + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ + int rotation = BlockPistonBase.getFacingFromEntity(world, pos, player).ordinal(); + Position.fromBlockPos(pos).setMetadata(world, rotation, 2); - super.onBlockPlacedBy(world, x, y, z, player, stack); + super.onBlockPlacedBy(world, pos, state, player, stack); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDropper.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDropper.java index 9045bcd30..1254215ca 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDropper.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDropper.java @@ -10,33 +10,25 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityDropper; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockDropper extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon frontIcon; - @SideOnly(Side.CLIENT) - private IIcon topIcon; - public BlockDropper(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -51,69 +43,36 @@ public class BlockDropper extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ - int meta = world.getBlockMetadata(x, y, z); - if(side != meta && (side == 0 || side == 1)){ - return this.topIcon; - } - if(side == meta){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 0 || side == 1){ - return this.topIcon; - } - if(side == 3){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ - if(this.tryToggleRedstone(world, x, y, z, player)){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ + if(this.tryToggleRedstone(world, Position.fromBlockPos(pos), player)){ return true; } if(!world.isRemote){ - TileEntityDropper dropper = (TileEntityDropper)world.getTileEntity(x, y, z); + TileEntityDropper dropper = (TileEntityDropper)world.getTileEntity(pos); if(dropper != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.DROPPER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.DROPPER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.frontIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Front"); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; + return EnumRarity.RARE; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ - int rotation = BlockPistonBase.determineOrientation(world, x, y, z, player); - world.setBlockMetadataWithNotify(x, y, z, rotation, 2); + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ + int rotation = BlockPistonBase.getFacingFromEntity(world, pos, player).ordinal(); + Position.fromBlockPos(pos).setMetadata(world, rotation, 2); - super.onBlockPlacedBy(world, x, y, z, player, stack); + super.onBlockPlacedBy(world, pos, state, player, stack); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockEnergizer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockEnergizer.java index d308f5018..f444f05f5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockEnergizer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockEnergizer.java @@ -10,30 +10,24 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityEnergizer; import de.ellpeck.actuallyadditions.mod.tile.TileEntityEnervator; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockEnergizer extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon sideIcon; private boolean isEnergizer; public BlockEnergizer(boolean isEnergizer, String name){ @@ -51,24 +45,18 @@ public class BlockEnergizer extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return side == 1 ? this.topIcon : (side == 0 ? this.blockIcon : this.sideIcon); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ if(this.isEnergizer){ - TileEntityEnergizer energizer = (TileEntityEnergizer)world.getTileEntity(x, y, z); + TileEntityEnergizer energizer = (TileEntityEnergizer)world.getTileEntity(pos); if(energizer != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.ENERGIZER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.ENERGIZER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } } else{ - TileEntityEnervator energizer = (TileEntityEnervator)world.getTileEntity(x, y, z); + TileEntityEnervator energizer = (TileEntityEnervator)world.getTileEntity(pos); if(energizer != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.ENERVATOR.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.ENERVATOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } } return true; @@ -76,22 +64,14 @@ public class BlockEnergizer extends BlockContainerBase{ return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - this.sideIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Side"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFeeder.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFeeder.java index 1623e8dd6..3873905f2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFeeder.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFeeder.java @@ -10,28 +10,23 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFeeder; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockFeeder extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - public BlockFeeder(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -46,38 +41,25 @@ public class BlockFeeder extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return (side == 0 || side == 1) ? this.topIcon : this.blockIcon; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ - TileEntityFeeder feeder = (TileEntityFeeder)world.getTileEntity(x, y, z); + TileEntityFeeder feeder = (TileEntityFeeder)world.getTileEntity(pos); if(feeder != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FEEDER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FEEDER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; + return EnumRarity.UNCOMMON; } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFishingNet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFishingNet.java index f0418d5bf..4342eef0e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFishingNet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFishingNet.java @@ -47,7 +47,7 @@ public class BlockFishingNet extends BlockContainerBase{ @Override public int getRenderType(){ - return AssetUtil.fishingNetRenderId; + return AssetUtil.TESR_RENDER_ID; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceDouble.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceDouble.java index 6380efc42..f424810b8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceDouble.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceDouble.java @@ -10,21 +10,22 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.proxy.ClientProxy; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFurnaceDouble; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -35,13 +36,6 @@ import java.util.Random; public class BlockFurnaceDouble extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon onIcon; - @SideOnly(Side.CLIENT) - private IIcon frontIcon; - public BlockFurnaceDouble(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -58,73 +52,45 @@ public class BlockFurnaceDouble extends BlockContainerBase{ @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ - int meta = world.getBlockMetadata(x, y, z); - if(side == 1){ - return this.topIcon; - } - if(side == meta+2 && meta <= 3){ - return this.frontIcon; - } - else if(side == meta-2 && meta > 3){ - return this.onIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 1){ - return this.topIcon; - } - if(side == 3){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand){ - int meta = world.getBlockMetadata(x, y, z); + public void randomDisplayTick(World world, BlockPos pos, IBlockState state, Random rand){ + int meta = Position.fromBlockPos(pos).getMetadata(world); if(meta > 3){ - float f = (float)x+0.5F; - float f1 = (float)y+0.0F+rand.nextFloat()*6.0F/16.0F; - float f2 = (float)z+0.5F; + float f = (float)pos.getX()+0.5F; + float f1 = (float)pos.getY()+0.0F+rand.nextFloat()*6.0F/16.0F; + float f2 = (float)pos.getZ()+0.5F; float f3 = 0.52F; float f4 = rand.nextFloat()*0.6F-0.3F; if(meta == 6){ - world.spawnParticle("smoke", (double)(f-f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", (double)(f-f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f-f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.FLAME, (double)(f-f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); } if(meta == 7){ - world.spawnParticle("smoke", (double)(f+f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", (double)(f+f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f+f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.FLAME, (double)(f+f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D); } if(meta == 4){ - world.spawnParticle("smoke", (double)(f+f4), (double)f1, (double)(f2-f3), 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", (double)(f+f4), (double)f1, (double)(f2-f3), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f+f4), (double)f1, (double)(f2-f3), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.FLAME, (double)(f+f4), (double)f1, (double)(f2-f3), 0.0D, 0.0D, 0.0D); } if(meta == 5){ - world.spawnParticle("smoke", (double)(f+f4), (double)f1, (double)(f2+f3), 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", (double)(f+f4), (double)f1, (double)(f2+f3), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f+f4), (double)f1, (double)(f2+f3), 0.0D, 0.0D, 0.0D); + world.spawnParticle(EnumParticleTypes.FLAME, (double)(f+f4), (double)f1, (double)(f2+f3), 0.0D, 0.0D, 0.0D); } for(int i = 0; i < 5; i++){ - world.spawnParticle(ClientProxy.bulletForMyValentine ? "heart" : "smoke", (double)x+0.5F, (double)y+1.0F, (double)z+0.5F, 0.0D, 0.0D, 0.0D); + world.spawnParticle(ClientProxy.bulletForMyValentine ? EnumParticleTypes.HEART : EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D); } } } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ - TileEntityFurnaceDouble furnace = (TileEntityFurnaceDouble)world.getTileEntity(x, y, z); + TileEntityFurnaceDouble furnace = (TileEntityFurnaceDouble)world.getTileEntity(pos); if(furnace != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FURNACE_DOUBLE.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.FURNACE_DOUBLE.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } @@ -132,47 +98,39 @@ public class BlockFurnaceDouble extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - this.onIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"On"); - this.frontIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Front"); - } - - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z){ - return world.getBlockMetadata(x, y, z) > 3 ? 12 : 0; + public int getLightValue(IBlockAccess world, BlockPos pos){ + return Position.fromBlockPos(pos).getMetadata(world) > 3 ? 12 : 0; } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; + return EnumRarity.UNCOMMON; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; + Position thePos = Position.fromBlockPos(pos); if(rotation == 0){ - world.setBlockMetadataWithNotify(x, y, z, 0, 2); + thePos.setMetadata(world, 0, 2); } if(rotation == 1){ - world.setBlockMetadataWithNotify(x, y, z, 3, 2); + thePos.setMetadata(world, 3, 2); } if(rotation == 2){ - world.setBlockMetadataWithNotify(x, y, z, 1, 2); + thePos.setMetadata(world, 1, 2); } if(rotation == 3){ - world.setBlockMetadataWithNotify(x, y, z, 2, 2); + thePos.setMetadata(world, 2, 2); } - super.onBlockPlacedBy(world, x, y, z, player, stack); + super.onBlockPlacedBy(world, pos, state, player, stack); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceSolar.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceSolar.java index a1d680007..0e4621239 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceSolar.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceSolar.java @@ -14,15 +14,10 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFurnaceSolar; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockFurnaceSolar extends BlockContainerBase{ @@ -40,20 +35,9 @@ public class BlockFurnaceSolar extends BlockContainerBase{ return new TileEntityFurnaceSolar(); } - @Override - public boolean renderAsNormalBlock(){ - return false; - } - @Override public int getRenderType(){ - return AssetUtil.furnaceSolarRenderId; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; + return AssetUtil.TESR_RENDER_ID; } @Override @@ -61,14 +45,8 @@ public class BlockFurnaceSolar extends BlockContainerBase{ return false; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = Blocks.daylight_detector.getIcon(0, 0); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; + return EnumRarity.UNCOMMON; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGeneric.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGeneric.java index cdd4ee43f..a1a584a64 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGeneric.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGeneric.java @@ -11,14 +11,9 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockGeneric extends BlockBase{ @@ -30,20 +25,8 @@ public class BlockGeneric extends BlockBase{ this.setStepSound(soundTypeStone); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.common; + return EnumRarity.COMMON; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGreenhouseGlass.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGreenhouseGlass.java index 3f724c3c9..db6347c23 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGreenhouseGlass.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGreenhouseGlass.java @@ -12,15 +12,11 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityGreenhouseGlass; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Facing; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.EnumWorldBlockLayer; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -35,22 +31,10 @@ public class BlockGreenhouseGlass extends BlockContainerBase{ this.setStepSound(soundTypeStone); } - @Override - public boolean renderAsNormalBlock(){ - return false; - } - @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int meta){ - return world.getBlockMetadata(x, y, z) != world.getBlockMetadata(x-Facing.offsetsXForSide[meta], y-Facing.offsetsYForSide[meta], z-Facing.offsetsZForSide[meta]) || (world.getBlock(x, y, z) != this && super.shouldSideBeRendered(world, x, y, z, meta)); - - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; + public EnumWorldBlockLayer getBlockLayer(){ + return EnumWorldBlockLayer.CUTOUT; } @Override @@ -58,21 +42,9 @@ public class BlockGreenhouseGlass extends BlockContainerBase{ return false; } - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass(){ - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGrinder.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGrinder.java index 469619f14..a41a09f55 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGrinder.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGrinder.java @@ -10,20 +10,21 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.proxy.ClientProxy; import de.ellpeck.actuallyadditions.mod.tile.TileEntityGrinder; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumParticleTypes; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; @@ -34,12 +35,6 @@ import java.util.Random; public class BlockGrinder extends BlockContainerBase{ private final boolean isDouble; - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon onIcon; - @SideOnly(Side.CLIENT) - private IIcon bottomIcon; public BlockGrinder(boolean isDouble, String name){ super(Material.rock, name); @@ -58,40 +53,26 @@ public class BlockGrinder extends BlockContainerBase{ @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 1 && meta != 1){ - return this.topIcon; - } - if(side == 1){ - return this.onIcon; - } - if(side == 0){ - return this.bottomIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand){ - int meta = world.getBlockMetadata(x, y, z); + public void randomDisplayTick(World world, BlockPos pos, IBlockState state, Random rand){ + Position thePos = Position.fromBlockPos(pos); + int meta = thePos.getMetadata(world); if(meta == 1){ for(int i = 0; i < 5; i++){ double xRand = rand.nextDouble()/0.75D-0.5D; double zRand = rand.nextDouble()/0.75D-0.5D; - world.spawnParticle("crit", (double)x+0.4F, (double)y+0.8F, (double)z+0.4F, xRand, 0.5D, zRand); + world.spawnParticle(EnumParticleTypes.CRIT, (double)pos.getX()+0.4F, (double)pos.getY()+0.8F, (double)pos.getZ()+0.4F, xRand, 0.5D, zRand); } - world.spawnParticle(ClientProxy.bulletForMyValentine ? "heart" : "smoke", (double)x+0.5F, (double)y+1.0F, (double)z+0.5F, 0.0D, 0.0D, 0.0D); + world.spawnParticle(ClientProxy.bulletForMyValentine ? EnumParticleTypes.HEART : EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D); } } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ - TileEntityGrinder grinder = (TileEntityGrinder)world.getTileEntity(x, y, z); + TileEntityGrinder grinder = (TileEntityGrinder)world.getTileEntity(pos); if(grinder != null){ - player.openGui(ActuallyAdditions.instance, this.isDouble ? GuiHandler.GuiTypes.GRINDER_DOUBLE.ordinal() : GuiHandler.GuiTypes.GRINDER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, this.isDouble ? GuiHandler.GuiTypes.GRINDER_DOUBLE.ordinal() : GuiHandler.GuiTypes.GRINDER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } @@ -99,27 +80,18 @@ public class BlockGrinder extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":blockGrinderTop"); - this.onIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":blockGrinderOn"); - this.bottomIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":blockGrinderBottom"); - } - - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z){ - return world.getBlockMetadata(x, y, z) == 1 ? 12 : 0; + public int getLightValue(IBlockAccess world, BlockPos pos){ + return Position.fromBlockPos(pos).getMetadata(world) == 1 ? 12 : 0; } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockHeatCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockHeatCollector.java index a7cc060b5..cc02ddf0f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockHeatCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockHeatCollector.java @@ -12,24 +12,14 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityHeatCollector; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockHeatCollector extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon bottomIcon; - public BlockHeatCollector(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -43,22 +33,8 @@ public class BlockHeatCollector extends BlockContainerBase{ return new TileEntityHeatCollector(); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return side == 1 ? this.topIcon : (side == 0 ? this.bottomIcon : this.blockIcon); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Side"); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - this.bottomIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Bottom"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; + return EnumRarity.UNCOMMON; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockInputter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockInputter.java index 97bd26111..3b37177b0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockInputter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockInputter.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; @@ -21,15 +22,14 @@ import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.Util; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockInputter extends BlockContainerBase{ @@ -53,17 +53,11 @@ public class BlockInputter extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return this.blockIcon; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ - TileEntityInputter inputter = (TileEntityInputter)world.getTileEntity(x, y, z); + TileEntityInputter inputter = (TileEntityInputter)world.getTileEntity(pos); if(inputter != null){ - player.openGui(ActuallyAdditions.instance, this.isAdvanced ? GuiHandler.GuiTypes.INPUTTER_ADVANCED.ordinal() : GuiHandler.GuiTypes.INPUTTER.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, this.isAdvanced ? GuiHandler.GuiTypes.INPUTTER_ADVANCED.ordinal() : GuiHandler.GuiTypes.INPUTTER.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } @@ -71,21 +65,15 @@ public class BlockInputter extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ + public void breakBlock(World world, BlockPos pos, IBlockState state){ if(!world.isRemote){ - TileEntity aTile = world.getTileEntity(x, y, z); + TileEntity aTile = world.getTileEntity(pos); if(aTile instanceof TileEntityInventoryBase){ TileEntityInventoryBase tile = (TileEntityInventoryBase)aTile; - this.dropSlotFromInventory(0, tile, world, x, y, z); + this.dropSlotFromInventory(0, tile, world, Position.fromBlockPos(pos)); } } - super.breakBlock(world, x, y, z, block, par6); + super.breakBlock(world, pos, state); } @Override @@ -95,7 +83,7 @@ public class BlockInputter extends BlockContainerBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } public static class TheItemBlock extends ItemBlockBase{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java index f3f1eae2d..a583e605b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java @@ -47,7 +47,7 @@ public class BlockLaserRelay extends BlockContainerBase{ @Override public int getRenderType(){ - return AssetUtil.laserRelayRenderId; + return AssetUtil.TESR_RENDER_ID; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLavaFactoryController.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLavaFactoryController.java index f6fb71e7c..a67f97a10 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLavaFactoryController.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLavaFactoryController.java @@ -18,13 +18,11 @@ import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.profiler.Profiler; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; @@ -32,9 +30,6 @@ import net.minecraftforge.fml.relauncher.SideOnly; public class BlockLavaFactoryController extends BlockContainerBase implements IHudDisplay{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - public BlockLavaFactoryController(String name){ super(Material.rock, name); this.setHarvestLevel("pickaxe", 0); @@ -48,35 +43,22 @@ public class BlockLavaFactoryController extends BlockContainerBase implements IH return new TileEntityLavaFactoryController(); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return side == 1 ? this.topIcon : this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; + return EnumRarity.RARE; } @Override @SideOnly(Side.CLIENT) public void displayHud(Minecraft minecraft, EntityPlayer player, ItemStack stack, MovingObjectPosition posHit, Profiler profiler, ScaledResolution resolution){ - TileEntityLavaFactoryController factory = (TileEntityLavaFactoryController)minecraft.theWorld.getTileEntity(posHit.blockX, posHit.blockY, posHit.blockZ); + TileEntityLavaFactoryController factory = (TileEntityLavaFactoryController)minecraft.theWorld.getTileEntity(posHit.getBlockPos()); if(factory != null){ int state = factory.isMultiblock(); if(state == TileEntityLavaFactoryController.NOT_MULTI){ - StringUtil.drawSplitString(minecraft.fontRenderer, StringUtil.localize("tooltip."+ModUtil.MOD_ID_LOWER+".factory.notPart.desc"), resolution.getScaledWidth()/2+5, resolution.getScaledHeight()/2+5, 200, StringUtil.DECIMAL_COLOR_WHITE, true); + StringUtil.drawSplitString(minecraft.fontRendererObj, StringUtil.localize("tooltip."+ModUtil.MOD_ID_LOWER+".factory.notPart.desc"), resolution.getScaledWidth()/2+5, resolution.getScaledHeight()/2+5, 200, StringUtil.DECIMAL_COLOR_WHITE, true); } else if(state == TileEntityLavaFactoryController.HAS_AIR || state == TileEntityLavaFactoryController.HAS_LAVA){ - StringUtil.drawSplitString(minecraft.fontRenderer, StringUtil.localize("tooltip."+ModUtil.MOD_ID_LOWER+".factory.works.desc"), resolution.getScaledWidth()/2+5, resolution.getScaledHeight()/2+5, 200, StringUtil.DECIMAL_COLOR_WHITE, true); + StringUtil.drawSplitString(minecraft.fontRendererObj, StringUtil.localize("tooltip."+ModUtil.MOD_ID_LOWER+".factory.works.desc"), resolution.getScaledWidth()/2+5, resolution.getScaledHeight()/2+5, 200, StringUtil.DECIMAL_COLOR_WHITE, true); } } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLeafGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLeafGenerator.java index 72f956051..0ccf8fea9 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLeafGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLeafGenerator.java @@ -10,27 +10,19 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityLeafGenerator; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockLeafGenerator extends BlockContainerBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon bottomIcon; - public BlockLeafGenerator(String name){ super(Material.iron, name); this.setHarvestLevel("pickaxe", 0); @@ -44,28 +36,14 @@ public class BlockLeafGenerator extends BlockContainerBase{ return new TileEntityLeafGenerator(); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return side <= 1 ? (side == 0 ? this.bottomIcon : this.topIcon) : this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - this.bottomIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Bottom"); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantomBooster.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantomBooster.java index 009a12460..0ae6f218a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantomBooster.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantomBooster.java @@ -14,15 +14,10 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityPhantomBooster; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockPhantomBooster extends BlockContainerBase{ @@ -37,20 +32,9 @@ public class BlockPhantomBooster extends BlockContainerBase{ this.setBlockBounds(3*f, 0F, 3*f, 1-3*f, 1F, 1-3*f); } - @Override - public boolean renderAsNormalBlock(){ - return false; - } - @Override public int getRenderType(){ - return AssetUtil.phantomBoosterRenderId; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; + return AssetUtil.TESR_RENDER_ID; } @Override @@ -58,15 +42,9 @@ public class BlockPhantomBooster extends BlockContainerBase{ return false; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = Blocks.lapis_block.getIcon(0, 0); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockRangedCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockRangedCollector.java index 1e32fd25f..13d782493 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockRangedCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockRangedCollector.java @@ -10,22 +10,20 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityRangedCollector; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockRangedCollector extends BlockContainerBase{ @@ -43,45 +41,33 @@ public class BlockRangedCollector extends BlockContainerBase{ } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return this.blockIcon; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ - TileEntityRangedCollector breaker = (TileEntityRangedCollector)world.getTileEntity(x, y, z); + TileEntityRangedCollector breaker = (TileEntityRangedCollector)world.getTileEntity(pos); if(breaker != null){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.RANGED_COLLECTOR.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.RANGED_COLLECTOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } return true; } return true; } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ + public void breakBlock(World world, BlockPos pos, IBlockState state){ if(!world.isRemote){ - TileEntity aTile = world.getTileEntity(x, y, z); + TileEntity aTile = world.getTileEntity(pos); if(aTile instanceof TileEntityRangedCollector){ TileEntityRangedCollector tile = (TileEntityRangedCollector)aTile; for(int i = 0; i < TileEntityRangedCollector.WHITELIST_START; i++){ - this.dropSlotFromInventory(i, tile, world, x, y, z); + this.dropSlotFromInventory(i, tile, world, Position.fromBlockPos(pos)); } } } - super.breakBlock(world, x, y, z, block, par6); + super.breakBlock(world, pos, state); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java index 30e1db521..78e8389be 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.achievement.TheAchievements; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; @@ -17,19 +18,15 @@ import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntitySmileyCloud; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.Util; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; +import net.minecraft.util.*; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; @@ -48,20 +45,9 @@ public class BlockSmileyCloud extends BlockContainerBase{ this.setTickRandomly(true); } - @Override - public boolean renderAsNormalBlock(){ - return false; - } - @Override public int getRenderType(){ - return AssetUtil.smileyCloudRenderId; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata){ - return this.blockIcon; + return AssetUtil.TESR_RENDER_ID; } @Override @@ -71,23 +57,23 @@ public class BlockSmileyCloud extends BlockContainerBase{ @Override @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand){ + public void randomDisplayTick(World world, BlockPos pos, IBlockState state, Random rand){ if(Util.RANDOM.nextInt(30) == 0){ for(int i = 0; i < 2; i++){ double d = Util.RANDOM.nextGaussian()*0.02D; double d1 = Util.RANDOM.nextGaussian()*0.02D; double d2 = Util.RANDOM.nextGaussian()*0.02D; - world.spawnParticle("heart", x+Util.RANDOM.nextFloat(), y+0.65+Util.RANDOM.nextFloat(), z+Util.RANDOM.nextFloat(), d, d1, d2); + world.spawnParticle(EnumParticleTypes.HEART, pos.getX()+Util.RANDOM.nextFloat(), pos.getY()+0.65+Util.RANDOM.nextFloat(), pos.getZ()+Util.RANDOM.nextFloat(), d, d1, d2); } } } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int f6, float f7, float f8, float f9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing f6, float f7, float f8, float f9){ if(!world.isRemote){ - TileEntity tile = world.getTileEntity(x, y, z); + TileEntity tile = world.getTileEntity(pos); if(tile instanceof TileEntitySmileyCloud){ - player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.CLOUD.ordinal(), world, x, y, z); + player.openGui(ActuallyAdditions.instance, GuiHandler.GuiTypes.CLOUD.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); player.triggerAchievement(TheAchievements.NAME_SMILEY_CLOUD.ach); } @@ -96,14 +82,14 @@ public class BlockSmileyCloud extends BlockContainerBase{ } @Override - public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB axis, List list, Entity entity){ - this.setBlockBoundsBasedOnState(world, x, y, z); - super.addCollisionBoxesToList(world, x, y, z, axis, list, entity); + public void addCollisionBoxesToList(World world, BlockPos pos, IBlockState state, AxisAlignedBB axis, List list, Entity entity){ + this.setBlockBoundsBasedOnState(world, pos); + super.addCollisionBoxesToList(world, pos, state, axis, list, entity); } @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z){ - int meta = world.getBlockMetadata(x, y, z); + public void setBlockBoundsBasedOnState(IBlockAccess world, BlockPos pos){ + int meta = Position.fromBlockPos(pos).getMetadata(world); float f = 0.0625F; if(meta == 0){ @@ -120,45 +106,40 @@ public class BlockSmileyCloud extends BlockContainerBase{ } } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = Blocks.wool.getIcon(0, 0); - } - @Override public TileEntity createNewTileEntity(World world, int meta){ return new TileEntitySmileyCloud(); } @Override - public void breakBlock(World world, int x, int y, int z, Block block, int par6){ - this.dropInventory(world, x, y, z); - super.breakBlock(world, x, y, z, block, par6); + public void breakBlock(World world, BlockPos pos, IBlockState state){ + this.dropInventory(world, Position.fromBlockPos(pos)); + super.breakBlock(world, pos, state); } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; + return EnumRarity.RARE; } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; + Position thePos = Position.fromBlockPos(pos); if(rotation == 0){ - world.setBlockMetadataWithNotify(x, y, z, 2, 2); + thePos.setMetadata(world, 0, 2); } if(rotation == 1){ - world.setBlockMetadataWithNotify(x, y, z, 1, 2); + thePos.setMetadata(world, 3, 2); } if(rotation == 2){ - world.setBlockMetadataWithNotify(x, y, z, 0, 2); + thePos.setMetadata(world, 1, 2); } if(rotation == 3){ - world.setBlockMetadataWithNotify(x, y, z, 3, 2); + thePos.setMetadata(world, 2, 2); } - super.onBlockPlacedBy(world, x, y, z, player, stack); + super.onBlockPlacedBy(world, pos, state, player, stack); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTreasureChest.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTreasureChest.java index b63725a8d..61bfc0d7f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTreasureChest.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTreasureChest.java @@ -11,13 +11,13 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.api.recipe.TreasureChestLoot; import de.ellpeck.actuallyadditions.mod.achievement.TheAchievements; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.Util; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -25,10 +25,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.util.WeightedRandom; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.*; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -37,13 +34,6 @@ import java.util.Random; public class BlockTreasureChest extends BlockBase{ - @SideOnly(Side.CLIENT) - private IIcon topIcon; - @SideOnly(Side.CLIENT) - private IIcon bottomIcon; - @SideOnly(Side.CLIENT) - private IIcon frontIcon; - public BlockTreasureChest(String name){ super(Material.wood, name); this.setHarvestLevel("axe", 0); @@ -55,58 +45,27 @@ public class BlockTreasureChest extends BlockBase{ @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ - int meta = world.getBlockMetadata(x, y, z); - if(side == 1){ - return this.topIcon; - } - if(side == meta+2){ - return this.frontIcon; - } - if(side == 0){ - return this.bottomIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(side == 1){ - return this.topIcon; - } - if(side == 0){ - return this.bottomIcon; - } - if(side == 3){ - return this.frontIcon; - } - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand){ + public void randomDisplayTick(World world, BlockPos pos, IBlockState state, Random rand){ for(int i = 0; i < 2; i++){ for(float f = 0; f <= 3; f += 0.5){ float particleX = rand.nextFloat(); float particleZ = rand.nextFloat(); - world.spawnParticle("bubble", (double)x+particleX, (double)y+f+1, (double)z+particleZ, 0.0D, 0.2D, 0.0D); + world.spawnParticle(EnumParticleTypes.WATER_BUBBLE, (double)pos.getX()+particleX, (double)pos.getY()+f+1, (double)pos.getZ()+particleZ, 0.0D, 0.2D, 0.0D); } } } @Override - public Item getItemDropped(int par1, Random rand, int par3){ + public Item getItemDropped(IBlockState state, Random rand, int par3){ return null; } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing par6, float par7, float par8, float par9){ if(!world.isRemote){ world.playSoundAtEntity(player, "random.chestopen", 0.2F, Util.RANDOM.nextFloat()*0.1F+0.9F); - this.dropItems(world, x, y, z); - world.setBlockToAir(x, y, z); + this.dropItems(world, Position.fromBlockPos(pos)); + world.setBlockToAir(pos); player.triggerAchievement(TheAchievements.OPEN_TREASURE_CHEST.ach); } @@ -119,42 +78,34 @@ public class BlockTreasureChest extends BlockBase{ } @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){ + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; + Position thePos = Position.fromBlockPos(pos); if(rotation == 0){ - world.setBlockMetadataWithNotify(x, y, z, 0, 2); + thePos.setMetadata(world, 0, 2); } if(rotation == 1){ - world.setBlockMetadataWithNotify(x, y, z, 3, 2); + thePos.setMetadata(world, 3, 2); } if(rotation == 2){ - world.setBlockMetadataWithNotify(x, y, z, 1, 2); + thePos.setMetadata(world, 1, 2); } if(rotation == 3){ - world.setBlockMetadataWithNotify(x, y, z, 2, 2); + thePos.setMetadata(world, 2, 2); } } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.topIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Top"); - this.bottomIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Bottom"); - this.frontIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Front"); - } - - private void dropItems(World world, int x, int y, int z){ + private void dropItems(World world, Position pos){ for(int i = 0; i < MathHelper.getRandomIntegerInRange(Util.RANDOM, 3, 6); i++){ - TreasureChestLoot theReturn = (TreasureChestLoot)WeightedRandom.getRandomItem(Util.RANDOM, ActuallyAdditionsAPI.treasureChestLoot); + TreasureChestLoot theReturn = WeightedRandom.getRandomItem(Util.RANDOM, ActuallyAdditionsAPI.treasureChestLoot); ItemStack itemStack = theReturn.returnItem.copy(); itemStack.stackSize = MathHelper.getRandomIntegerInRange(Util.RANDOM, theReturn.minAmount, theReturn.maxAmount); float dX = Util.RANDOM.nextFloat()*0.8F+0.1F; float dY = Util.RANDOM.nextFloat()*0.8F+0.1F; float dZ = Util.RANDOM.nextFloat()*0.8F+0.1F; - EntityItem entityItem = new EntityItem(world, x+dX, y+dY, z+dZ, itemStack.copy()); + EntityItem entityItem = new EntityItem(world, pos.getX()+dX, pos.getY()+dY, pos.getZ()+dZ, itemStack.copy()); if(itemStack.hasTagCompound()){ entityItem.getEntityItem().setTagCompound((NBTTagCompound)itemStack.getTagCompound().copy()); } @@ -169,6 +120,6 @@ public class BlockTreasureChest extends BlockBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockFluidFlowing.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockFluidFlowing.java index 8d908eaed..fa8173121 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockFluidFlowing.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockFluidFlowing.java @@ -10,41 +10,33 @@ package de.ellpeck.actuallyadditions.mod.blocks.base; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fluids.BlockFluidClassic; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class BlockFluidFlowing extends BlockFluidClassic{ - @SideOnly(Side.CLIENT) - public IIcon stillIcon; - @SideOnly(Side.CLIENT) - public IIcon flowingIcon; - private String name; public BlockFluidFlowing(Fluid fluid, Material material, String unlocalizedName){ super(fluid, material); this.name = unlocalizedName; - this.setRenderPass(1); displacements.put(this, false); this.register(); } private void register(){ - this.setBlockName(ModUtil.MOD_ID_LOWER+"."+this.getBaseName()); + this.setUnlocalizedName(ModUtil.MOD_ID_LOWER+"."+this.getBaseName()); GameRegistry.registerBlock(this, this.getItemBlock(), this.getBaseName()); if(this.shouldAddCreative()){ this.setCreativeTab(CreativeTab.instance); @@ -67,30 +59,16 @@ public class BlockFluidFlowing extends BlockFluidClassic{ } @Override - public boolean canDisplace(IBlockAccess world, int x, int y, int z){ - return !world.getBlock(x, y, z).getMaterial().isLiquid() && super.canDisplace(world, x, y, z); + public boolean canDisplace(IBlockAccess world, BlockPos pos){ + return !Position.fromBlockPos(pos).getMaterial(world).isLiquid() && super.canDisplace(world, pos); } @Override - public boolean displaceIfPossible(World world, int x, int y, int z){ - return !world.getBlock(x, y, z).getMaterial().isLiquid() && super.displaceIfPossible(world, x, y, z); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - return side <= 1 ? this.stillIcon : this.flowingIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.stillIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Still"); - this.flowingIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Flowing"); - this.definedFluid.setIcons(this.stillIcon, this.flowingIcon); + public boolean displaceIfPossible(World world, BlockPos pos){ + return !Position.fromBlockPos(pos).getMaterial(world).isLiquid() && super.displaceIfPossible(world, pos); } public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockPlant.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockPlant.java index 03d5e7839..34a7de202 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockPlant.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockPlant.java @@ -13,17 +13,15 @@ package de.ellpeck.actuallyadditions.mod.blocks.base; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.BlockCrops; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.Random; @@ -32,8 +30,6 @@ public class BlockPlant extends BlockCrops{ public Item seedItem; public Item returnItem; public int returnMeta; - @SideOnly(Side.CLIENT) - private IIcon[] textures; private int stages; private String name; private int minDropAmount; @@ -49,7 +45,7 @@ public class BlockPlant extends BlockCrops{ } private void register(){ - this.setBlockName(ModUtil.MOD_ID_LOWER+"."+this.getBaseName()); + this.setUnlocalizedName(ModUtil.MOD_ID_LOWER+"."+this.getBaseName()); GameRegistry.registerBlock(this, this.getItemBlock(), this.getBaseName()); if(this.shouldAddCreative()){ this.setCreativeTab(CreativeTab.instance); @@ -72,64 +68,41 @@ public class BlockPlant extends BlockCrops{ } public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; + return EnumRarity.RARE; } @Override - public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z){ + public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos){ return EnumPlantType.Crop; } @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta){ - if(meta < 7){ - if(meta == 6){ - meta = 5; - } - return this.textures[meta >> 1]; - } - else{ - return this.textures[this.textures.length-1]; - } - } - - @Override - public Item func_149866_i(){ + public Item getSeed(){ return this.seedItem; } @Override - public Item func_149865_P(){ + public Item getCrop(){ return this.returnItem; } @Override - public Item getItemDropped(int meta, Random rand, int par3){ - return meta >= 7 ? this.func_149865_P() : this.func_149866_i(); + public Item getItemDropped(IBlockState state, Random rand, int par3){ + return this.getMetaFromState(state) >= 7 ? this.getCrop() : this.getSeed(); } @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconReg){ - this.textures = new IIcon[this.stages]; - for(int i = 0; i < this.textures.length; i++){ - textures[i] = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Stage"+(i+1)); - } + public int damageDropped(IBlockState state){ + return this.getMetaFromState(state) >= 7 ? this.returnMeta : 0; } @Override - public int damageDropped(int meta){ - return meta >= 7 ? this.returnMeta : 0; - } - - @Override - public int getDamageValue(World world, int x, int y, int z){ + public int getDamageValue(World world, BlockPos pos){ return 0; } @Override - public int quantityDropped(int meta, int fortune, Random random){ - return meta >= 7 ? random.nextInt(addDropAmount)+minDropAmount : super.quantityDropped(meta, fortune, random); + public int quantityDropped(IBlockState state, int fortune, Random random){ + return this.getMetaFromState(state) >= 7 ? random.nextInt(addDropAmount)+minDropAmount : super.quantityDropped(state, fortune, random); } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderInventory.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderInventory.java index 64dcdf922..1c23efebf 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderInventory.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderInventory.java @@ -10,14 +10,8 @@ package de.ellpeck.actuallyadditions.mod.blocks.render; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.client.registry.ISimpleBlockRenderingHandler; -import org.lwjgl.opengl.GL11; - -public class RenderInventory implements ISimpleBlockRenderingHandler{ +//TODO Fix the rendering handler +public class RenderInventory{ private RenderTileEntity tileRender; private int renderID; @@ -27,7 +21,7 @@ public class RenderInventory implements ISimpleBlockRenderingHandler{ this.renderID = renderID; } - @Override + /*@Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer){ GL11.glPushMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(this.tileRender.resLoc); @@ -50,5 +44,5 @@ public class RenderInventory implements ISimpleBlockRenderingHandler{ @Override public int getRenderId(){ return this.renderID; - } + }*/ } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java index 295849a27..4a14f1af7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.blocks.render; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.api.lens.ILensItem; import de.ellpeck.actuallyadditions.mod.tile.TileEntityAtomicReconstructor; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; @@ -21,7 +22,7 @@ import org.lwjgl.opengl.GL11; public class RenderReconstructorLens extends TileEntitySpecialRenderer{ @Override - public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float par5){ + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float par5, int par6){ if(!(tile instanceof TileEntityAtomicReconstructor)){ return; } @@ -32,7 +33,7 @@ public class RenderReconstructorLens extends TileEntitySpecialRenderer{ GL11.glTranslatef((float)x+0.5F, (float)y-0.5F, (float)z+0.5F); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - int meta = tile.getWorldObj().getBlockMetadata(tile.xCoord, tile.yCoord, tile.zCoord); + int meta = Position.fromTileEntity(tile).getMetadata(getWorld()); if(meta == 0){ GL11.glTranslatef(0F, -0.5F, 0F); GL11.glTranslatef(-0.25F, 0F, -0.25F); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/gen/JamVillagerTradeHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/gen/JamVillagerTradeHandler.java index 9beb433f5..a67fbfeb7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/gen/JamVillagerTradeHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/gen/JamVillagerTradeHandler.java @@ -18,13 +18,13 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.village.MerchantRecipe; import net.minecraft.village.MerchantRecipeList; -import net.minecraftforge.fml.common.registry.VillagerRegistry; import net.minecraftforge.oredict.OreDictionary; import java.util.ArrayList; import java.util.Random; -public class JamVillagerTradeHandler implements VillagerRegistry.IVillageTradeHandler{ +//TODO Fix the villager +public class JamVillagerTradeHandler{ private ArrayList trades = new ArrayList(); @@ -41,7 +41,7 @@ public class JamVillagerTradeHandler implements VillagerRegistry.IVillageTradeHa } public void addWants(String oredictName, int minSize, int maxSize){ - ArrayList stacks = (ArrayList)OreDictionary.getOres(oredictName, false); + ArrayList stacks = (ArrayList)OreDictionary.getOres(oredictName); trades.add(new Trade(stacks, minSize, maxSize)); } @@ -49,7 +49,8 @@ public class JamVillagerTradeHandler implements VillagerRegistry.IVillageTradeHa trades.add(new Trade(stack, minSize, maxSize)); } - @Override + //TODO Fix the Villager + //@Override @SuppressWarnings("all") public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random rand){ for(int trade = 0; trade < trades.size(); trade++){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java index 100336929..d28356719 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java @@ -21,7 +21,6 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -61,8 +60,8 @@ public class ContainerEnergizer extends Container{ @Override @SideOnly(Side.CLIENT) - public IIcon getBackgroundIconIndex(){ - return ItemArmor.func_94602_b(finalI); + public String getSlotTexture(){ + return ItemArmor.EMPTY_SLOT_NAMES[finalI]; } }); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java index 5b16f26fd..95829c910 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java @@ -21,7 +21,6 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -61,8 +60,8 @@ public class ContainerEnervator extends Container{ @Override @SideOnly(Side.CLIENT) - public IIcon getBackgroundIconIndex(){ - return ItemArmor.func_94602_b(finalI); + public String getSlotTexture(){ + return ItemArmor.EMPTY_SLOT_NAMES[finalI]; } }); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java index 60f4efc9d..7baf5e9d5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java @@ -11,13 +11,8 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemBattery extends ItemEnergy{ @@ -28,18 +23,6 @@ public class ItemBattery extends ItemEnergy{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.RARE; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java index 055baebc6..e1e274493 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java @@ -10,22 +10,20 @@ package de.ellpeck.actuallyadditions.mod.items; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityGiantChest; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemChestToCrateUpgrade extends ItemBase{ @@ -34,10 +32,11 @@ public class ItemChestToCrateUpgrade extends ItemBase{ } @Override - public boolean onItemUse(ItemStack heldStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ + public boolean onItemUse(ItemStack heldStack, EntityPlayer player, World world, BlockPos pos, EnumFacing facing, float par8, float par9, float par10){ if(player.isSneaking()){ - TileEntity tileHit = world.getTileEntity(x, y, z); - if(world.getBlock(x, y, z) instanceof BlockChest && tileHit instanceof TileEntityChest){ + TileEntity tileHit = world.getTileEntity(pos); + Block block = Position.fromBlockPos(pos).getBlock(world); + if(block instanceof BlockChest && tileHit instanceof TileEntityChest){ if(!world.isRemote){ TileEntityChest chest = (TileEntityChest)tileHit; @@ -52,11 +51,11 @@ public class ItemChestToCrateUpgrade extends ItemBase{ } //Set New Block - world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(world.getBlock(x, y, z))+(world.getBlockMetadata(x, y, z) << 12)); - world.setBlock(x, y, z, InitBlocks.blockGiantChest, 0, 2); + world.playAuxSFX(2001, pos, Block.getIdFromBlock(block)+(Position.fromBlockPos(pos).getMetadata(world) << 12)); + Position.fromBlockPos(pos).setBlock(world, InitBlocks.blockGiantChest, 0, 2); //Copy Items into new Chest - TileEntity newTileHit = world.getTileEntity(x, y, z); + TileEntity newTileHit = world.getTileEntity(pos); if(newTileHit instanceof TileEntityGiantChest){ TileEntityGiantChest newChest = (TileEntityGiantChest)newTileHit; for(int i = 0; i < stacks.length; i++){ @@ -76,24 +75,11 @@ public class ItemChestToCrateUpgrade extends ItemBase{ } } - return super.onItemUse(heldStack, player, world, x, y, z, par7, par8, par9, par10); + return super.onItemUse(heldStack, player, world, pos, facing, par8, par9, par10); } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; + return EnumRarity.RARE; } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } - } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffee.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffee.java index ab5e0baf8..58400ae70 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffee.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffee.java @@ -18,7 +18,6 @@ import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumAction; @@ -28,12 +27,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; import net.minecraft.util.StringUtils; import net.minecraft.world.World; import net.minecraftforge.fml.common.Loader; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.List; @@ -77,9 +73,9 @@ public class ItemCoffee extends ItemFoodBase{ } @Override - public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player){ + public ItemStack onItemUseFinish(ItemStack stack, World world, EntityPlayer player){ ItemStack theStack = stack.copy(); - super.onEaten(stack, world, player); + super.onItemUseFinish(stack, world, player); applyPotionEffectsFromStack(stack, player); theStack.setItemDamage(theStack.getItemDamage()+1); if(theStack.getMaxDamage()-theStack.getItemDamage() < 0){ @@ -101,13 +97,7 @@ public class ItemCoffee extends ItemFoodBase{ @Override public EnumAction getItemUseAction(ItemStack stack){ - return EnumAction.drink; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1){ - return this.itemIcon; + return EnumAction.DRINK; } @Override @@ -136,13 +126,7 @@ public class ItemCoffee extends ItemFoodBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); + return EnumRarity.RARE; } public static class MilkIngredient extends CoffeeIngredient{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffeeBean.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffeeBean.java index 665bc602c..9e65ea4f8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffeeBean.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCoffeeBean.java @@ -11,13 +11,8 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemFoodBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemCoffeeBean extends ItemFoodBase{ @@ -28,18 +23,6 @@ public class ItemCoffeeBean extends ItemFoodBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.RARE; } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrill.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrill.java index 8fc4f5075..37021dbf2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrill.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrill.java @@ -12,8 +12,8 @@ package de.ellpeck.actuallyadditions.mod.items; import cofh.api.energy.IEnergyContainerItem; import com.google.common.collect.Multimap; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors; import de.ellpeck.actuallyadditions.mod.config.ConfigValues; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; @@ -22,7 +22,7 @@ import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.Entity; @@ -37,8 +37,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.util.BlockPos; import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; +import net.minecraft.util.EnumFacing; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; @@ -54,8 +55,6 @@ public class ItemDrill extends ItemEnergy{ private static final int ENERGY_USE = 100; private static final int HARVEST_LEVEL = 4; - @SideOnly(Side.CLIENT) - private IIcon[] allDemDamnIconsMaan; public ItemDrill(String name){ super(500000, 5000, name); @@ -72,15 +71,9 @@ public class ItemDrill extends ItemEnergy{ this.setHarvestLevel("pickaxe", HARVEST_LEVEL); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1){ - return par1 >= this.allDemDamnIconsMaan.length ? null : this.allDemDamnIconsMaan[par1]; - } - @Override //Places Blocks if the Placing Upgrade is installed - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int hitSide, float hitX, float hitY, float hitZ){ + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ){ ItemStack upgrade = this.getHasUpgradeAsStack(stack, ItemDrillUpgrade.UpgradeType.PLACER); if(upgrade != null){ int slot = ItemDrillUpgrade.getSlotToPlaceFrom(upgrade); @@ -92,7 +85,7 @@ public class ItemDrill extends ItemEnergy{ //tryPlaceItemIntoWorld could throw an Exception try{ //Places the Block into the World - if(equip.tryPlaceItemIntoWorld(player, world, x, y, z, hitSide, hitX, hitY, hitZ)){ + if(equip.onItemUse(player, world, pos, side, hitX, hitY, hitZ)){ if(!player.capabilities.isCreativeMode){ player.inventory.setInventorySlotContents(slot, equip.stackSize <= 0 ? null : equip.copy()); } @@ -104,7 +97,7 @@ public class ItemDrill extends ItemEnergy{ //Notify the Player and log the Exception catch(Exception e){ player.addChatComponentMessage(new ChatComponentText("Ouch! That really hurt! You must have done something wrong, don't do that again please!")); - ModUtil.LOGGER.error("Player "+player.getCommandSenderName()+" who should place a Block using a Drill at "+player.posX+", "+player.posY+", "+player.posZ+" in World "+world.provider.dimensionId+" threw an Exception! Don't let that happen again!"); + ModUtil.LOGGER.error("Player "+player.getName()+" who should place a Block using a Drill at "+player.posX+", "+player.posY+", "+player.posZ+" in World "+world.provider.getDimensionId()+" threw an Exception! Don't let that happen again!"); } } else{ @@ -216,32 +209,23 @@ public class ItemDrill extends ItemEnergy{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.allDemDamnIconsMaan = new IIcon[16]; - for(int i = 0; i < this.allDemDamnIconsMaan.length; i++){ - this.allDemDamnIconsMaan[i] = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+TheColoredLampColors.values()[i].name); - } + return EnumRarity.EPIC; } @Override public Multimap getAttributeModifiers(ItemStack stack){ Multimap map = super.getAttributeModifiers(stack); - map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Drill Modifier", this.getEnergyStored(stack) >= ENERGY_USE ? 8.0F : 0.1F, 0)); + map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(itemModifierUUID, "Drill Modifier", this.getEnergyStored(stack) >= ENERGY_USE ? 8.0F : 0.1F, 0)); return map; } @Override - public float getDigSpeed(ItemStack stack, Block block, int meta){ - return this.getEnergyStored(stack) >= this.getEnergyUsePerBlock(stack) ? (this.hasExtraWhitelist(block) || block.getHarvestTool(meta) == null || block.getHarvestTool(meta).isEmpty() || this.getToolClasses(stack).contains(block.getHarvestTool(meta)) ? this.getEfficiencyFromUpgrade(stack) : 1.0F) : 0.1F; + public float getDigSpeed(ItemStack stack, IBlockState state){ + return this.getEnergyStored(stack) >= this.getEnergyUsePerBlock(stack) ? (this.hasExtraWhitelist(state.getBlock()) || state.getBlock().getHarvestTool(state) == null || state.getBlock().getHarvestTool(state).isEmpty() || this.getToolClasses(stack).contains(state.getBlock().getHarvestTool(state)) ? this.getEfficiencyFromUpgrade(stack) : 1.0F) : 0.1F; } @Override - public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPlayer player){ + public boolean onBlockStartBreak(ItemStack stack, BlockPos pos, EntityPlayer player){ boolean toReturn = false; int use = this.getEnergyUsePerBlock(stack); if(this.getEnergyStored(stack) >= use){ @@ -258,14 +242,14 @@ public class ItemDrill extends ItemEnergy{ //Breaks the Blocks if(!player.isSneaking() && this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.THREE_BY_THREE)){ if(this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FIVE_BY_FIVE)){ - toReturn = this.breakBlocks(stack, 2, player.worldObj, x, y, z, player); + toReturn = this.breakBlocks(stack, 2, player.worldObj, pos, player); } else{ - toReturn = this.breakBlocks(stack, 1, player.worldObj, x, y, z, player); + toReturn = this.breakBlocks(stack, 1, player.worldObj, pos, player); } } else{ - toReturn = this.breakBlocks(stack, 0, player.worldObj, x, y, z, player); + toReturn = this.breakBlocks(stack, 0, player.worldObj, pos, player); } //Removes Enchantments added above @@ -353,7 +337,7 @@ public class ItemDrill extends ItemEnergy{ @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list){ - for(int i = 0; i < this.allDemDamnIconsMaan.length; i++){ + for(int i = 0; i < 16; i++){ this.addDrillStack(list, i); } } @@ -427,12 +411,9 @@ public class ItemDrill extends ItemEnergy{ * @param stack The Drill * @param radius The Radius to break Blocks in (0 means only 1 Block will be broken!) * @param world The World - * @param x The X Coord of the main Block to break - * @param y The Y Coord of the main Block to break - * @param z The Z Coord of the main Block to break * @param player The Player who breaks the Blocks */ - public boolean breakBlocks(ItemStack stack, int radius, World world, int x, int y, int z, EntityPlayer player){ + public boolean breakBlocks(ItemStack stack, int radius, World world, BlockPos aPos, EntityPlayer player){ int xRange = radius; int yRange = radius; int zRange = 0; @@ -444,7 +425,7 @@ public class ItemDrill extends ItemEnergy{ } //Corrects Blocks to hit depending on Side of original Block hit - int side = pos.sideHit; + int side = pos.sideHit.ordinal(); if(side == 0 || side == 1){ zRange = radius; yRange = 0; @@ -455,12 +436,12 @@ public class ItemDrill extends ItemEnergy{ } //Not defined later because main Block is getting broken below - float mainHardness = world.getBlock(x, y, z).getBlockHardness(world, x, y, z); + float mainHardness = Position.fromBlockPos(aPos).getBlock(world).getBlockHardness(world, aPos); //Break Middle Block first int use = this.getEnergyUsePerBlock(stack); if(this.getEnergyStored(stack) >= use){ - if(!this.tryHarvestBlock(world, x, y, z, false, stack, player, use)){ + if(!this.tryHarvestBlock(world, Position.fromBlockPos(aPos), false, stack, player, use)){ return false; } } @@ -470,14 +451,15 @@ public class ItemDrill extends ItemEnergy{ //Break Blocks around if(radius > 0 && mainHardness >= 0.2F){ - for(int xPos = x-xRange; xPos <= x+xRange; xPos++){ - for(int yPos = y-yRange; yPos <= y+yRange; yPos++){ - for(int zPos = z-zRange; zPos <= z+zRange; zPos++){ - if(!(x == xPos && y == yPos && z == zPos)){ + for(int xPos = aPos.getX()-xRange; xPos <= aPos.getX()+xRange; xPos++){ + for(int yPos = aPos.getY()-yRange; yPos <= aPos.getY()+yRange; yPos++){ + for(int zPos = aPos.getZ()-zRange; zPos <= aPos.getZ()+zRange; zPos++){ + if(!(aPos.getX() == xPos && aPos.getY() == yPos && aPos.getZ() == zPos)){ if(this.getEnergyStored(stack) >= use){ //Only break Blocks around that are (about) as hard or softer - if(world.getBlock(xPos, yPos, zPos).getBlockHardness(world, xPos, yPos, zPos) <= mainHardness+5.0F){ - this.tryHarvestBlock(world, xPos, yPos, zPos, true, stack, player, use); + Position thePos = new Position(xPos, yPos, zPos); + if(thePos.getBlock(world).getBlockHardness(world, thePos) <= mainHardness+5.0F){ + this.tryHarvestBlock(world, thePos, true, stack, player, use); } } else{ @@ -497,29 +479,26 @@ public class ItemDrill extends ItemEnergy{ * Has to be called on both Server and Client * * @param world The World - * @param xPos The X Position of the Block to break - * @param yPos The Y Position of the Block to break - * @param zPos The Z Position of the Block to break * @param isExtra If the Block is the Block that was looked at when breaking or an additional Block * @param stack The Drill * @param player The Player breaking the Blocks * @param use The Energy that should be extracted per Block */ - private boolean tryHarvestBlock(World world, int xPos, int yPos, int zPos, boolean isExtra, ItemStack stack, EntityPlayer player, int use){ - Block block = world.getBlock(xPos, yPos, zPos); - float hardness = block.getBlockHardness(world, xPos, yPos, zPos); - int meta = world.getBlockMetadata(xPos, yPos, zPos); - boolean canHarvest = (ForgeHooks.canHarvestBlock(block, player, meta) || this.canHarvestBlock(block, stack)) && (!isExtra || this.getDigSpeed(stack, block, meta) > 1.0F); - if(hardness >= 0.0F && (!isExtra || (canHarvest && !block.hasTileEntity(meta)))){ + private boolean tryHarvestBlock(World world, Position pos, boolean isExtra, ItemStack stack, EntityPlayer player, int use){ + Block block = pos.getBlock(world); + float hardness = block.getBlockHardness(world, pos); + int meta = pos.getMetadata(world); + boolean canHarvest = (ForgeHooks.canHarvestBlock(block, player, world, pos) || this.canHarvestBlock(block, stack)) && (!isExtra || this.getDigSpeed(stack, pos.getBlockState(world)) > 1.0F); + if(hardness >= 0.0F && (!isExtra || (canHarvest && !block.hasTileEntity(pos.getBlockState(world))))){ this.extractEnergy(stack, use, false); //Break the Block - return WorldUtil.playerHarvestBlock(world, xPos, yPos, zPos, player); + return WorldUtil.playerHarvestBlock(world, pos, player); } return false; } private boolean hasExtraWhitelist(Block block){ - String name = Block.blockRegistry.getNameForObject(block); + String name = block.getRegistryName(); if(name != null){ for(String list : ConfigValues.drillExtraminingWhitelist){ if(list.equals(name)){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrillUpgrade.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrillUpgrade.java index 2644fea3b..54088ca7b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrillUpgrade.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemDrillUpgrade.java @@ -11,15 +11,10 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemDrillUpgrade extends ItemBase{ @@ -58,18 +53,6 @@ public class ItemDrillUpgrade extends ItemBase{ stack.setTagCompound(compound); } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } - public enum UpgradeType{ SPEED, SPEED_II, diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java index 67626e437..0a43ead28 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java @@ -11,16 +11,13 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemDye; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemFertilizer extends ItemBase{ @@ -29,30 +26,18 @@ public class ItemFertilizer extends ItemBase{ } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ - if(ItemDye.applyBonemeal(stack, world, x, y, z, player)){ + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float par8, float par9, float par10){ + if(ItemDye.applyBonemeal(stack, world, pos, player)){ if(!world.isRemote){ - world.playAuxSFX(2005, x, y, z, 0); + world.playAuxSFX(2005, pos, 0); } return true; } - return super.onItemUse(stack, player, world, x, y, z, par7, par8, par9, par10); + return super.onItemUse(stack, player, world, pos, side, par8, par9, par10); } @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.RARE; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java index 131b9c766..a9c786362 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java @@ -12,10 +12,8 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemFoodBase; import de.ellpeck.actuallyadditions.mod.items.metalists.TheFoods; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -23,7 +21,6 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -33,10 +30,6 @@ import java.util.List; public class ItemFoods extends ItemFoodBase{ public static final TheFoods[] allFoods = TheFoods.values(); - @SideOnly(Side.CLIENT) - public IIcon[] textures; - @SideOnly(Side.CLIENT) - private IIcon iconEllspeck; private static final String ELLSPECK = "ellspeck"; @@ -48,14 +41,14 @@ public class ItemFoods extends ItemFoodBase{ } @Override - public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player){ - ItemStack stackToReturn = super.onEaten(stack, world, player); + public ItemStack onItemUseFinish(ItemStack stack, World world, EntityPlayer player){ + ItemStack stackToReturn = super.onItemUseFinish(stack, world, player); ItemStack returnItem = stack.getItemDamage() >= allFoods.length ? null : allFoods[stack.getItemDamage()].returnItem; if(returnItem != null){ if(!player.inventory.addItemStackToInventory(returnItem.copy())){ if(!world.isRemote){ EntityItem entityItem = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, returnItem.copy()); - entityItem.delayBeforeCanPickup = 0; + entityItem.setPickupDelay(0); player.worldObj.spawnEntityInWorld(entityItem); } } @@ -70,36 +63,19 @@ public class ItemFoods extends ItemFoodBase{ @Override public EnumAction getItemUseAction(ItemStack stack){ - return stack.getItemDamage() >= allFoods.length ? EnumAction.eat : (allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.drink : EnumAction.eat); + return stack.getItemDamage() >= allFoods.length ? EnumAction.EAT : (allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.DRINK : EnumAction.EAT); } @Override - public int func_150905_g(ItemStack stack){ + public int getHealAmount(ItemStack stack){ return stack.getItemDamage() >= allFoods.length ? 0 : allFoods[stack.getItemDamage()].healAmount; } @Override - public float func_150906_h(ItemStack stack){ + public float getSaturationModifier(ItemStack stack){ return stack.getItemDamage() >= allFoods.length ? 0 : allFoods[stack.getItemDamage()].saturation; } - @Override - public IIcon getIcon(ItemStack stack, int pass){ - return getIconIndex(stack); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconIndex(ItemStack stack){ - int damage = stack.getItemDamage(); - if(damage == TheFoods.BACON.ordinal() && StringUtil.equalsToLowerCase(stack.getDisplayName(), ELLSPECK)){ - return this.iconEllspeck; - } - else{ - return damage >= textures.length ? null : textures[damage]; - } - } - @Override public int getMetadata(int damage){ return damage; @@ -112,7 +88,7 @@ public class ItemFoods extends ItemFoodBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return stack.getItemDamage() >= allFoods.length ? EnumRarity.common : allFoods[stack.getItemDamage()].rarity; + return stack.getItemDamage() >= allFoods.length ? EnumRarity.COMMON : allFoods[stack.getItemDamage()].rarity; } @SuppressWarnings("all") @@ -123,22 +99,12 @@ public class ItemFoods extends ItemFoodBase{ } } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.textures = new IIcon[allFoods.length]; - for(int i = 0; i < textures.length; i++){ - textures[i] = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+allFoods[i].name); - } - this.iconEllspeck = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":itemEllspeck"); - } - @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool){ if(stack.getItemDamage() == TheFoods.BACON.ordinal() && StringUtil.equalsToLowerCase(stack.getDisplayName(), ELLSPECK)){ String strg = "Yes, this is an ugly texture of bacon with its legs behind its head. This is an homage to Ellpeck, the mod author, being able to put his legs behind his head. Wasn't my idea, so don't judge me."; - list.addAll(Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strg, 200)); + list.addAll(Minecraft.getMinecraft().fontRendererObj.listFormattedStringToWidth(strg, 200)); } } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemHairyBall.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemHairyBall.java index 20d8707d4..0d4785dc2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemHairyBall.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemHairyBall.java @@ -13,18 +13,13 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; import de.ellpeck.actuallyadditions.api.recipe.BallOfFurReturn; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.Util; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemHairyBall extends ItemBase{ @@ -38,7 +33,7 @@ public class ItemHairyBall extends ItemBase{ ItemStack returnItem = this.getRandomReturnItem(); if(!player.inventory.addItemStackToInventory(returnItem)){ EntityItem entityItem = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, returnItem); - entityItem.delayBeforeCanPickup = 0; + entityItem.setPickupDelay(0); player.worldObj.spawnEntityInWorld(entityItem); } stack.stackSize--; @@ -53,18 +48,6 @@ public class ItemHairyBall extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemJams.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemJams.java index 0765a01d5..bea7bca7a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemJams.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemJams.java @@ -12,9 +12,7 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemFoodBase; import de.ellpeck.actuallyadditions.mod.items.metalists.TheJams; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -23,7 +21,6 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -33,8 +30,6 @@ import java.util.List; public class ItemJams extends ItemFoodBase{ public static final TheJams[] allJams = TheJams.values(); - @SideOnly(Side.CLIENT) - public IIcon overlayIcon; public ItemJams(String name){ super(0, 0.0F, false, name); @@ -61,18 +56,7 @@ public class ItemJams extends ItemFoodBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return stack.getItemDamage() >= allJams.length ? EnumRarity.common : allJams[stack.getItemDamage()].rarity; - } - - @Override - public boolean requiresMultipleRenderPasses(){ - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(int damage, int pass){ - return pass > 0 ? this.overlayIcon : super.getIconFromDamageForRenderPass(damage, pass); + return stack.getItemDamage() >= allJams.length ? EnumRarity.COMMON : allJams[stack.getItemDamage()].rarity; } @SuppressWarnings("all") @@ -84,15 +68,8 @@ public class ItemJams extends ItemFoodBase{ } @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - this.overlayIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+"Overlay"); - } - - @Override - public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player){ - ItemStack stackToReturn = super.onEaten(stack, world, player); + public ItemStack onItemUseFinish(ItemStack stack, World world, EntityPlayer player){ + ItemStack stackToReturn = super.onItemUseFinish(stack, world, player); if(!world.isRemote && stack.getItemDamage() < allJams.length){ PotionEffect firstEffectToGet = new PotionEffect(allJams[stack.getItemDamage()].firstEffectToGet, 200); @@ -104,7 +81,7 @@ public class ItemJams extends ItemFoodBase{ ItemStack returnItem = new ItemStack(Items.glass_bottle); if(!player.inventory.addItemStackToInventory(returnItem.copy())){ EntityItem entityItem = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, returnItem.copy()); - entityItem.delayBeforeCanPickup = 0; + entityItem.setPickupDelay(0); player.worldObj.spawnEntityInWorld(entityItem); } } @@ -112,12 +89,12 @@ public class ItemJams extends ItemFoodBase{ } @Override - public int func_150905_g(ItemStack stack){ + public int getHealAmount(ItemStack stack){ return stack.getItemDamage() >= allJams.length ? 0 : allJams[stack.getItemDamage()].healAmount; } @Override - public float func_150906_h(ItemStack stack){ + public float getSaturationModifier(ItemStack stack){ return stack.getItemDamage() >= allJams.length ? 0 : allJams[stack.getItemDamage()].saturation; } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemKnife.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemKnife.java index fb108cd6e..7cd298423 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemKnife.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemKnife.java @@ -12,15 +12,10 @@ package de.ellpeck.actuallyadditions.mod.items; import com.google.common.collect.Multimap; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemKnife extends ItemBase{ @@ -31,11 +26,6 @@ public class ItemKnife extends ItemBase{ this.setContainerItem(this); } - @Override - public boolean doesContainerItemLeaveCraftingGrid(ItemStack stack){ - return false; - } - @Override public boolean getShareTag(){ return true; @@ -43,20 +33,14 @@ public class ItemKnife extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); + return EnumRarity.EPIC; } @SuppressWarnings("unchecked") @Override public Multimap getAttributeModifiers(ItemStack stack){ Multimap map = super.getAttributeModifiers(stack); - map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Knife Modifier", 3, 0)); + map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(itemModifierUUID, "Knife Modifier", 3, 0)); return map; } @@ -67,10 +51,4 @@ public class ItemKnife extends ItemBase{ theStack.stackSize = 1; return theStack; } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLaserWrench.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLaserWrench.java index a5284f36d..5449e61c2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLaserWrench.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLaserWrench.java @@ -16,15 +16,15 @@ import de.ellpeck.actuallyadditions.mod.misc.LaserRelayConnectionHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityLaserRelay; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockPos; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -39,17 +39,17 @@ public class ItemLaserWrench extends ItemBase{ } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing par7, float par8, float par9, float par10){ if(!world.isRemote){ - TileEntity tile = world.getTileEntity(x, y, z); + TileEntity tile = world.getTileEntity(pos); if(tile instanceof TileEntityLaserRelay){ if(ItemPhantomConnector.getStoredPosition(stack) == null){ - ItemPhantomConnector.storeConnection(stack, x, y, z, world); + ItemPhantomConnector.storeConnection(stack, pos.getX(), pos.getY(), pos.getZ(), world); player.addChatComponentMessage(new ChatComponentText(StringUtil.localize("tooltip."+ModUtil.MOD_ID_LOWER+".laser.stored.desc"))); } else{ Position savedPos = ItemPhantomConnector.getStoredPosition(stack); - Position otherPos = new Position(x, y, z); + Position otherPos = Position.fromBlockPos(pos); if(ItemPhantomConnector.getStoredWorld(stack) == world && savedPos.getTileEntity(world) instanceof TileEntityLaserRelay && LaserRelayConnectionHandler.getInstance().addConnection(savedPos, otherPos)){ ItemPhantomConnector.clearStorage(stack); @@ -96,18 +96,6 @@ public class ItemLaserWrench extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLeafBlower.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLeafBlower.java index bfe8d9eb7..f017e9776 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLeafBlower.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemLeafBlower.java @@ -13,20 +13,15 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.config.values.ConfigBoolValues; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockBush; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Collections; @@ -49,7 +44,7 @@ public class ItemLeafBlower extends ItemBase{ @Override public EnumAction getItemUseAction(ItemStack stack){ - return EnumAction.bow; + return EnumAction.BOW; } @Override @@ -60,13 +55,7 @@ public class ItemLeafBlower extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return this.isAdvanced ? EnumRarity.epic : EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); + return this.isAdvanced ? EnumRarity.EPIC : EnumRarity.RARE; } @Override @@ -100,9 +89,10 @@ public class ItemLeafBlower extends ItemBase{ for(int reachZ = -rangeSides; reachZ < rangeSides+1; reachZ++){ for(int reachY = (this.isAdvanced ? -rangeSides : -rangeUp); reachY < (this.isAdvanced ? rangeSides : rangeUp)+1; reachY++){ //The current Block to break - Block block = world.getBlock(x+reachX, y+reachY, z+reachZ); - if(block != null && (block instanceof BlockBush || (this.isAdvanced && block.isLeaves(world, x+reachX, y+reachY, z+reachZ)))){ - breakPositions.add(new Position(x+reachX, y+reachY, z+reachZ)); + Position pos = new Position(x+reachX, y+reachY, z+reachZ); + Block block = pos.getBlock(world); + if(block != null && (block instanceof BlockBush || (this.isAdvanced && block.isLeaves(world, pos)))){ + breakPositions.add(pos); } } } @@ -112,17 +102,17 @@ public class ItemLeafBlower extends ItemBase{ Collections.shuffle(breakPositions); Position theCoord = breakPositions.get(0); - Block theBlock = world.getBlock(theCoord.getX(), theCoord.getY(), theCoord.getZ()); + Block theBlock = theCoord.getBlock(world); ArrayList drops = new ArrayList(); - int meta = world.getBlockMetadata(theCoord.getX(), theCoord.getY(), theCoord.getZ()); + int meta = theCoord.getMetadata(world); //Gets all of the Drops the Block should have - drops.addAll(theBlock.getDrops(world, theCoord.getX(), theCoord.getY(), theCoord.getZ(), meta, 0)); + drops.addAll(theBlock.getDrops(world, theCoord, theCoord.getBlockState(world), 0)); //Deletes the Block - world.setBlockToAir(theCoord.getX(), theCoord.getY(), theCoord.getZ()); + world.setBlockToAir(theCoord); //Plays the Breaking Sound - world.playAuxSFX(2001, theCoord.getX(), theCoord.getY(), theCoord.getZ(), Block.getIdFromBlock(theBlock)+(meta << 12)); + world.playAuxSFX(2001, theCoord, Block.getIdFromBlock(theBlock)+(meta << 12)); for(ItemStack theDrop : drops){ //Drops the Items into the World @@ -130,10 +120,4 @@ public class ItemLeafBlower extends ItemBase{ } } } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemMagnetRing.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemMagnetRing.java index 316180063..0f4422e89 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemMagnetRing.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemMagnetRing.java @@ -11,19 +11,14 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.IIcon; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; @@ -40,13 +35,13 @@ public class ItemMagnetRing extends ItemEnergy{ if(!entity.isSneaking()){ //Get all the Items in the area int range = 5; - ArrayList items = (ArrayList)world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(entity.posX-range, entity.posY-range, entity.posZ-range, entity.posX+range, entity.posY+range, entity.posZ+range)); + ArrayList items = (ArrayList)world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.fromBounds(entity.posX-range, entity.posY-range, entity.posZ-range, entity.posX+range, entity.posY+range, entity.posZ+range)); if(!items.isEmpty()){ for(EntityItem item : items){ if(this.getEnergyStored(stack) >= energyUse){ //If the Item is near enough to get picked up //(So it doesn't bounce around until it notices itself..) - if(Vec3.createVectorHelper(entity.posX, entity.posY, entity.posZ).distanceTo(Vec3.createVectorHelper(item.posX, item.posY, item.posZ)) <= 1.5){ + if(new Vec3(entity.posX, entity.posY, entity.posZ).distanceTo(new Vec3(item.posX, item.posY, item.posZ)) <= 1.5){ item.onCollideWithPlayer((EntityPlayer)entity); } else{ @@ -71,18 +66,6 @@ public class ItemMagnetRing extends ItemEnergy{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPhantomConnector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPhantomConnector.java index 412e5deca..4275e321d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPhantomConnector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPhantomConnector.java @@ -16,16 +16,16 @@ import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockPos; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fml.relauncher.Side; @@ -41,10 +41,10 @@ public class ItemPhantomConnector extends ItemBase{ } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing par7, float par8, float par9, float par10){ if(!world.isRemote){ //Passing Data to Phantoms - TileEntity tile = world.getTileEntity(x, y, z); + TileEntity tile = world.getTileEntity(pos); if(tile != null){ //Passing to Phantom if(tile instanceof IPhantomTile){ @@ -61,7 +61,7 @@ public class ItemPhantomConnector extends ItemBase{ } } //Storing Connections - storeConnection(stack, x, y, z, world); + storeConnection(stack, pos.getX(), pos.getY(), pos.getZ(), world); player.addChatComponentMessage(new ChatComponentText(StringUtil.localize("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.stored.desc"))); } return true; @@ -114,7 +114,7 @@ public class ItemPhantomConnector extends ItemBase{ tag.setInteger("XCoordOfTileStored", x); tag.setInteger("YCoordOfTileStored", y); tag.setInteger("ZCoordOfTileStored", z); - tag.setInteger("WorldOfTileStored", world.provider.dimensionId); + tag.setInteger("WorldOfTileStored", world.provider.getDimensionId()); stack.setTagCompound(tag); } @@ -147,18 +147,6 @@ public class ItemPhantomConnector extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemResonantRice.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemResonantRice.java index f44589ba8..91f7f35a9 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemResonantRice.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemResonantRice.java @@ -11,15 +11,10 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemResonantRice extends ItemBase{ @@ -38,18 +33,6 @@ public class ItemResonantRice extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java index 542877f35..50dca5adb 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java @@ -11,14 +11,9 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; @@ -94,18 +89,6 @@ public class ItemWingsOfTheBats extends ItemBase{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.epic; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemAllToolAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemAllToolAA.java index 4ad3ac597..8a36cf0fa 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemAllToolAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemAllToolAA.java @@ -16,18 +16,18 @@ import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.Block; +import net.minecraft.block.BlockDirt; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemTool; -import net.minecraft.util.IIcon; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.UseHoeEvent; -import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -39,8 +39,6 @@ import java.util.Set; @SuppressWarnings("unchecked") public class ItemAllToolAA extends ItemTool{ - @SideOnly(Side.CLIENT) - private IIcon overlayIcon; private int color; private String name; @@ -87,35 +85,48 @@ public class ItemAllToolAA extends ItemTool{ } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ){ - if(!player.canPlayerEdit(x, y, z, side, stack)){ + public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ){ + if(!playerIn.canPlayerEdit(pos.offset(side), side, stack)){ return false; } else{ - UseHoeEvent event = new UseHoeEvent(player, stack, world, x, y, z); - if(MinecraftForge.EVENT_BUS.post(event)){ - return false; + int hook = ForgeEventFactory.onHoeUse(stack, playerIn, worldIn, pos); + if(hook != 0){ + return hook > 0; } - if(event.getResult() == Event.Result.ALLOW){ - stack.damageItem(1, player); - return true; - } - Block block = world.getBlock(x, y, z); - if(side != 0 && world.getBlock(x, y+1, z).isAir(world, x, y+1, z) && (block == Blocks.grass || block == Blocks.dirt)){ - Block block1 = Blocks.farmland; - world.playSoundEffect((double)((float)x+0.5F), (double)((float)y+0.5F), (double)((float)z+0.5F), block1.stepSound.getStepResourcePath(), (block1.stepSound.getVolume()+1.0F)/2.0F, block1.stepSound.getPitch()*0.8F); - if(world.isRemote){ - return true; + + IBlockState state = worldIn.getBlockState(pos); + Block block = state.getBlock(); + + if(side != EnumFacing.DOWN && worldIn.isAirBlock(pos.up())){ + if(block == Blocks.grass){ + return this.useHoe(stack, playerIn, worldIn, pos, Blocks.farmland.getDefaultState()); } - else{ - world.setBlock(x, y, z, block1); - stack.damageItem(1, player); - return true; + + if(block == Blocks.dirt){ + switch(state.getValue(BlockDirt.VARIANT)){ + case DIRT: + return this.useHoe(stack, playerIn, worldIn, pos, Blocks.farmland.getDefaultState()); + case COARSE_DIRT: + return this.useHoe(stack, playerIn, worldIn, pos, Blocks.dirt.getDefaultState().withProperty(BlockDirt.VARIANT, BlockDirt.DirtType.DIRT)); + } } } - else{ - return false; - } + + return false; + } + } + + private boolean useHoe(ItemStack stack, EntityPlayer player, World worldIn, BlockPos target, IBlockState newState){ + worldIn.playSoundEffect((double)((float)target.getX()+0.5F), (double)((float)target.getY()+0.5F), (double)((float)target.getZ()+0.5F), newState.getBlock().stepSound.getStepSound(), (newState.getBlock().stepSound.getVolume()+1.0F)/2.0F, newState.getBlock().stepSound.getFrequency()*0.8F); + + if(worldIn.isRemote){ + return true; + } + else{ + worldIn.setBlockState(target, newState); + stack.damageItem(1, player); + return true; } } @@ -130,31 +141,13 @@ public class ItemAllToolAA extends ItemTool{ return this.rarity; } - @Override - public boolean requiresMultipleRenderPasses(){ - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(int damage, int pass){ - return pass > 0 ? this.overlayIcon : super.getIconFromDamageForRenderPass(damage, pass); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":itemPaxel"); - this.overlayIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":itemPaxelOverlay"); - } - @Override public boolean canHarvestBlock(Block block, ItemStack stack){ return this.hasExtraWhitelist(block) || block.getMaterial().isToolNotRequired() || (block == Blocks.snow_layer || block == Blocks.snow || (block == Blocks.obsidian ? this.toolMaterial.getHarvestLevel() >= 3 : (block != Blocks.diamond_block && block != Blocks.diamond_ore ? (block != Blocks.emerald_ore && block != Blocks.emerald_block ? (block != Blocks.gold_block && block != Blocks.gold_ore ? (block != Blocks.iron_block && block != Blocks.iron_ore ? (block != Blocks.lapis_block && block != Blocks.lapis_ore ? (block != Blocks.redstone_ore && block != Blocks.lit_redstone_ore ? (block.getMaterial() == Material.rock || (block.getMaterial() == Material.iron || block.getMaterial() == Material.anvil)) : this.toolMaterial.getHarvestLevel() >= 2) : this.toolMaterial.getHarvestLevel() >= 1) : this.toolMaterial.getHarvestLevel() >= 1) : this.toolMaterial.getHarvestLevel() >= 2) : this.toolMaterial.getHarvestLevel() >= 2) : this.toolMaterial.getHarvestLevel() >= 2))); } private boolean hasExtraWhitelist(Block block){ - String name = Block.blockRegistry.getNameForObject(block); + String name = block.getRegistryName(); if(name != null){ for(String list : ConfigValues.paxelExtraMiningWhitelist){ if(list.equals(name)){ @@ -191,7 +184,7 @@ public class ItemAllToolAA extends ItemTool{ } @Override - public float getDigSpeed(ItemStack stack, Block block, int meta){ - return this.hasExtraWhitelist(block) || block.getHarvestTool(meta) == null || block.getHarvestTool(meta).isEmpty() || this.getToolClasses(stack).contains(block.getHarvestTool(meta)) ? this.efficiencyOnProperMaterial : 1.0F; + public float getDigSpeed(ItemStack stack, IBlockState state){ + return this.hasExtraWhitelist(state.getBlock()) || state.getBlock().getHarvestTool(state) == null || state.getBlock().getHarvestTool(state).isEmpty() || this.getToolClasses(stack).contains(state.getBlock().getHarvestTool(state)) ? this.efficiencyOnProperMaterial : 1.0F; } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemArmorAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemArmorAA.java index 5580aef27..377389b84 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemArmorAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemArmorAA.java @@ -13,15 +13,11 @@ package de.ellpeck.actuallyadditions.mod.items.base; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemArmorAA extends ItemArmor{ @@ -42,7 +38,7 @@ public class ItemArmorAA extends ItemArmor{ } public ItemArmorAA(String name, ArmorMaterial material, int type, ItemStack repairItem, String textureBase){ - this(name, material, type, repairItem, textureBase, EnumRarity.rare); + this(name, material, type, repairItem, textureBase, EnumRarity.RARE); } private void register(){ @@ -69,12 +65,6 @@ public class ItemArmorAA extends ItemArmor{ return this.rarity; } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } - @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type){ return this.textures[slot == 2 ? 1 : 0]; @@ -84,10 +74,4 @@ public class ItemArmorAA extends ItemArmor{ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ return ItemUtil.areItemsEqual(this.repairItem, stack, false); } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemBucketAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemBucketAA.java index a1c729c26..d43eed4ba 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemBucketAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemBucketAA.java @@ -13,15 +13,11 @@ package de.ellpeck.actuallyadditions.mod.items.base; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemBucket; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemBucketAA extends ItemBucket{ @@ -56,18 +52,6 @@ public class ItemBucketAA extends ItemBucket{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.UNCOMMON; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemHoeAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemHoeAA.java index 067e180cf..af3eddf2e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemHoeAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemHoeAA.java @@ -13,15 +13,11 @@ package de.ellpeck.actuallyadditions.mod.items.base; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemHoeAA extends ItemHoe{ @@ -67,16 +63,4 @@ public class ItemHoeAA extends ItemHoe{ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ return ItemUtil.areItemsEqual(this.repairItem, stack, false); } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemShovelAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemShovelAA.java index e25d82710..3f7293658 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemShovelAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemShovelAA.java @@ -13,15 +13,11 @@ package de.ellpeck.actuallyadditions.mod.items.base; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemShovelAA extends ItemSpade{ @@ -67,16 +63,4 @@ public class ItemShovelAA extends ItemSpade{ public EnumRarity getRarity(ItemStack stack){ return this.rarity; } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/ItemLens.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/ItemLens.java index 81353a9b9..5ba2e0d6c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/ItemLens.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/ItemLens.java @@ -13,13 +13,8 @@ package de.ellpeck.actuallyadditions.mod.items.lens; import de.ellpeck.actuallyadditions.api.lens.ILensItem; import de.ellpeck.actuallyadditions.api.lens.Lens; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; public class ItemLens extends ItemBase implements ILensItem{ @@ -34,19 +29,7 @@ public class ItemLens extends ItemBase implements ILensItem{ @Override public EnumRarity getRarity(ItemStack stack){ - return EnumRarity.uncommon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass){ - return this.itemIcon; + return EnumRarity.UNCOMMON; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java index 295f953dc..c41034f7c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java @@ -24,8 +24,8 @@ import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -68,7 +68,8 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple private void doWork(){ if(this.storage.getEnergyStored() >= ENERGY_USE){ - ForgeDirection sideToManipulate = ForgeDirection.getOrientation(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)); + Position thisPos = Position.fromTileEntity(this); + EnumFacing sideToManipulate = WorldUtil.getDirectionByPistonRotation(thisPos.getMetadata(worldObj)); //Extract energy for shooting the laser itself too! this.storage.extractEnergy(ENERGY_USE, false); @@ -76,7 +77,7 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple Lens currentLens = this.getCurrentLens(); int distance = currentLens.getDistance(); for(int i = 0; i < distance; i++){ - Position hitBlock = WorldUtil.getCoordsFromSide(sideToManipulate, xCoord, yCoord, zCoord, i); + Position hitBlock = WorldUtil.getCoordsFromSide(sideToManipulate, thisPos, i); if(currentLens.invoke(hitBlock, this)){ this.shootLaser(hitBlock.getX(), hitBlock.getY(), hitBlock.getZ(), currentLens); @@ -99,8 +100,8 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple } private void shootLaser(int endX, int endY, int endZ, Lens currentLens){ - this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, ModUtil.MOD_ID_LOWER+":reconstructor", 0.35F, 1.0F); - PacketHandler.theNetwork.sendToAllAround(new PacketParticle(xCoord, yCoord, zCoord, endX, endY, endZ, currentLens.getColor(), 8, 2F), new NetworkRegistry.TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 64)); + this.worldObj.playSoundEffect(this.getX(), this.getY(), this.getZ(), ModUtil.MOD_ID_LOWER+":reconstructor", 0.35F, 1.0F); + PacketHandler.theNetwork.sendToAllAround(new PacketParticle(this.getX(), this.getY(), this.getZ(), endX, endY, endZ, currentLens.getColor(), 8, 2F), new NetworkRegistry.TargetPoint(worldObj.provider.getDimensionId(), this.getX(), this.getY(), this.getZ(), 64)); } @Override @@ -135,27 +136,27 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple } @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate){ + public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate){ return this.storage.receiveEnergy(maxReceive, simulate); } @Override - public int getEnergyStored(ForgeDirection from){ + public int getEnergyStored(EnumFacing from){ return this.storage.getEnergyStored(); } @Override - public int getMaxEnergyStored(ForgeDirection from){ + public int getMaxEnergyStored(EnumFacing from){ return this.storage.getMaxEnergyStored(); } @Override - public boolean canConnectEnergy(ForgeDirection from){ + public boolean canConnectEnergy(EnumFacing from){ return true; } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -165,28 +166,28 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return true; } @Override public int getX(){ - return this.xCoord; + return this.getPos().getX(); } @Override public int getY(){ - return this.yCoord; + return this.getPos().getY(); } @Override public int getZ(){ - return this.zCoord; + return this.getPos().getZ(); } @Override - public World getWorld(){ - return this.getWorldObj(); + public World getWorldObject(){ + return this.getWorld(); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBreaker.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBreaker.java index e68f3a132..edda2c407 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBreaker.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityBreaker.java @@ -16,7 +16,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockAir; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import java.util.ArrayList; @@ -67,26 +67,26 @@ public class TileEntityBreaker extends TileEntityInventoryBase implements IRedst } private void doWork(){ - ForgeDirection sideToManipulate = ForgeDirection.getOrientation(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)); + EnumFacing sideToManipulate = WorldUtil.getDirectionByPistonRotation(Position.fromTileEntity(this).getMetadata(worldObj)); - Position coordsBlock = WorldUtil.getCoordsFromSide(sideToManipulate, xCoord, yCoord, zCoord, 0); + Position coordsBlock = WorldUtil.getCoordsFromSide(sideToManipulate, Position.fromTileEntity(this), 0); if(coordsBlock != null){ - Block blockToBreak = worldObj.getBlock(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()); - if(!this.isPlacer && blockToBreak != null && !(blockToBreak instanceof BlockAir) && blockToBreak.getBlockHardness(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()) > -1.0F){ + Block blockToBreak = coordsBlock.getBlock(worldObj); + if(!this.isPlacer && blockToBreak != null && !(blockToBreak instanceof BlockAir) && blockToBreak.getBlockHardness(worldObj, coordsBlock) > -1.0F){ ArrayList drops = new ArrayList(); - int meta = worldObj.getBlockMetadata(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()); - drops.addAll(blockToBreak.getDrops(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ(), meta, 0)); + int meta = coordsBlock.getMetadata(worldObj); + drops.addAll(blockToBreak.getDrops(worldObj, coordsBlock, coordsBlock.getBlockState(worldObj), 0)); - if(WorldUtil.addToInventory(this, drops, false)){ - worldObj.playAuxSFX(2001, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ(), Block.getIdFromBlock(blockToBreak)+(meta << 12)); - WorldUtil.breakBlockAtSide(sideToManipulate, worldObj, xCoord, yCoord, zCoord); - WorldUtil.addToInventory(this, drops, true); + if(WorldUtil.addToInventory(this, drops, false, true)){ + worldObj.playAuxSFX(2001, coordsBlock, Block.getIdFromBlock(blockToBreak)+(meta << 12)); + WorldUtil.breakBlockAtSide(sideToManipulate, worldObj, Position.fromTileEntity(this)); + WorldUtil.addToInventory(this, drops, true, true); this.markDirty(); } } - else if(this.isPlacer && worldObj.getBlock(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()).isReplaceable(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ())){ + else if(this.isPlacer && coordsBlock.getBlock(worldObj).isReplaceable(worldObj, coordsBlock)){ int theSlot = WorldUtil.findFirstFilledSlot(this.slots); - this.setInventorySlotContents(theSlot, WorldUtil.placeBlockAtSide(sideToManipulate, worldObj, xCoord, yCoord, zCoord, this.slots[theSlot])); + this.setInventorySlotContents(theSlot, WorldUtil.placeBlockAtSide(sideToManipulate, worldObj, Position.fromTileEntity(this), this.slots[theSlot])); if(this.slots[theSlot] != null && this.slots[theSlot].stackSize <= 0){ this.slots[theSlot] = null; } @@ -95,7 +95,7 @@ public class TileEntityBreaker extends TileEntityInventoryBase implements IRedst } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -105,7 +105,7 @@ public class TileEntityBreaker extends TileEntityInventoryBase implements IRedst } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDropper.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDropper.java index aebd29557..9d3a9d8cc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDropper.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDropper.java @@ -10,10 +10,11 @@ package de.ellpeck.actuallyadditions.mod.tile; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; public class TileEntityDropper extends TileEntityInventoryBase implements IRedstoneToggle{ @@ -59,7 +60,7 @@ public class TileEntityDropper extends TileEntityInventoryBase implements IRedst if(this.removeFromInventory(false) != null){ ItemStack stack = this.removeFromInventory(true); stack.stackSize = 1; - WorldUtil.dropItemAtSide(ForgeDirection.getOrientation(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)), worldObj, xCoord, yCoord, zCoord, stack); + WorldUtil.dropItemAtSide(WorldUtil.getDirectionByPistonRotation(Position.fromTileEntity(this).getMetadata(worldObj)), worldObj, Position.fromTileEntity(this), stack); } } @@ -80,7 +81,7 @@ public class TileEntityDropper extends TileEntityInventoryBase implements IRedst } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -90,7 +91,7 @@ public class TileEntityDropper extends TileEntityInventoryBase implements IRedst } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnergizer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnergizer.java index 2fdbf37e9..faed346ed 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnergizer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnergizer.java @@ -15,7 +15,7 @@ import cofh.api.energy.IEnergyContainerItem; import cofh.api.energy.IEnergyReceiver; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -66,7 +66,7 @@ public class TileEntityEnergizer extends TileEntityInventoryBase implements IEne } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -76,7 +76,7 @@ public class TileEntityEnergizer extends TileEntityInventoryBase implements IEne } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return slot == 1; } @@ -86,22 +86,22 @@ public class TileEntityEnergizer extends TileEntityInventoryBase implements IEne } @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate){ + public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate){ return this.storage.receiveEnergy(maxReceive, simulate); } @Override - public int getEnergyStored(ForgeDirection from){ + public int getEnergyStored(EnumFacing from){ return this.storage.getEnergyStored(); } @Override - public int getMaxEnergyStored(ForgeDirection from){ + public int getMaxEnergyStored(EnumFacing from){ return this.storage.getMaxEnergyStored(); } @Override - public boolean canConnectEnergy(ForgeDirection from){ + public boolean canConnectEnergy(EnumFacing from){ return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnervator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnervator.java index 7745377b5..0a163057a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnervator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEnervator.java @@ -13,10 +13,11 @@ package de.ellpeck.actuallyadditions.mod.tile; import cofh.api.energy.EnergyStorage; import cofh.api.energy.IEnergyContainerItem; import cofh.api.energy.IEnergyProvider; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -48,13 +49,8 @@ public class TileEntityEnervator extends TileEntityInventoryBase implements IEne } } - if(this.getEnergyStored(ForgeDirection.UNKNOWN) > 0){ - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.UP, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.DOWN, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.NORTH, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.EAST, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.SOUTH, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.WEST, storage); + if(this.storage.getEnergyStored() > 0){ + WorldUtil.pushEnergyToAllSides(worldObj, Position.fromTileEntity(this), this.storage); } if(lastEnergy != this.storage.getEnergyStored() && this.sendUpdateWithInterval()){ @@ -76,22 +72,22 @@ public class TileEntityEnervator extends TileEntityInventoryBase implements IEne } @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate){ + public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate){ return this.storage.extractEnergy(maxExtract, simulate); } @Override - public int getEnergyStored(ForgeDirection from){ + public int getEnergyStored(EnumFacing from){ return this.storage.getEnergyStored(); } @Override - public int getMaxEnergyStored(ForgeDirection from){ + public int getMaxEnergyStored(EnumFacing from){ return this.storage.getMaxEnergyStored(); } @Override - public boolean canConnectEnergy(ForgeDirection from){ + public boolean canConnectEnergy(EnumFacing from){ return true; } @@ -101,7 +97,7 @@ public class TileEntityEnervator extends TileEntityInventoryBase implements IEne } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -111,7 +107,7 @@ public class TileEntityEnervator extends TileEntityInventoryBase implements IEne } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return slot == 1; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java index ffd613b71..b740f5f3e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFermentingBarrel.java @@ -10,12 +10,13 @@ package de.ellpeck.actuallyadditions.mod.tile; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fluids.*; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -58,12 +59,12 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen WorldUtil.fillBucket(oilTank, slots, 2, 3); if(this.oilTank.getFluidAmount() > 0){ - WorldUtil.pushFluid(worldObj, xCoord, yCoord, zCoord, ForgeDirection.DOWN, this.oilTank); + WorldUtil.pushFluid(worldObj, Position.fromTileEntity(this), EnumFacing.DOWN, this.oilTank); if(!this.isRedstonePowered){ - WorldUtil.pushFluid(worldObj, xCoord, yCoord, zCoord, ForgeDirection.NORTH, this.oilTank); - WorldUtil.pushFluid(worldObj, xCoord, yCoord, zCoord, ForgeDirection.EAST, this.oilTank); - WorldUtil.pushFluid(worldObj, xCoord, yCoord, zCoord, ForgeDirection.SOUTH, this.oilTank); - WorldUtil.pushFluid(worldObj, xCoord, yCoord, zCoord, ForgeDirection.WEST, this.oilTank); + WorldUtil.pushFluid(worldObj, Position.fromTileEntity(this), EnumFacing.NORTH, this.oilTank); + WorldUtil.pushFluid(worldObj, Position.fromTileEntity(this), EnumFacing.EAST, this.oilTank); + WorldUtil.pushFluid(worldObj, Position.fromTileEntity(this), EnumFacing.SOUTH, this.oilTank); + WorldUtil.pushFluid(worldObj, Position.fromTileEntity(this), EnumFacing.WEST, this.oilTank); } } @@ -109,7 +110,7 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -119,20 +120,20 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return (slot == 1 && stack.getItem() == Items.bucket) || (slot == 3 && FluidContainerRegistry.containsFluid(stack, new FluidStack(InitBlocks.fluidOil, FluidContainerRegistry.BUCKET_VOLUME))); } @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill){ - if(from != ForgeDirection.DOWN && resource.getFluid() == InitBlocks.fluidCanolaOil){ + public int fill(EnumFacing from, FluidStack resource, boolean doFill){ + if(from != EnumFacing.DOWN && resource.getFluid() == InitBlocks.fluidCanolaOil){ return this.canolaTank.fill(resource, doFill); } return 0; } @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain){ + public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain){ if(resource.getFluid() == InitBlocks.fluidOil){ return this.oilTank.drain(resource.amount, doDrain); } @@ -140,22 +141,22 @@ public class TileEntityFermentingBarrel extends TileEntityInventoryBase implemen } @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain){ + public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain){ return this.oilTank.drain(maxDrain, doDrain); } @Override - public boolean canFill(ForgeDirection from, Fluid fluid){ - return from != ForgeDirection.DOWN && fluid == InitBlocks.fluidCanolaOil; + public boolean canFill(EnumFacing from, Fluid fluid){ + return from != EnumFacing.DOWN && fluid == InitBlocks.fluidCanolaOil; } @Override - public boolean canDrain(ForgeDirection from, Fluid fluid){ - return from != ForgeDirection.UP && fluid == InitBlocks.fluidOil; + public boolean canDrain(EnumFacing from, Fluid fluid){ + return from != EnumFacing.UP && fluid == InitBlocks.fluidOil; } @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from){ + public FluidTankInfo[] getTankInfo(EnumFacing from){ return new FluidTankInfo[]{this.canolaTank.getInfo(), this.oilTank.getInfo()}; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java index 7d72f3bd3..ed98ccb0b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.tile; +import de.ellpeck.actuallyadditions.api.Position; import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.material.Material; @@ -18,8 +19,8 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; import net.minecraftforge.common.FishingHooks; -import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; @@ -32,19 +33,20 @@ public class TileEntityFishingNet extends TileEntityBase{ super.updateEntity(); if(!worldObj.isRemote){ if(!this.isRedstonePowered){ - if(worldObj.getBlock(xCoord, yCoord-1, zCoord).getMaterial() == Material.water){ + Position pos = Position.fromTileEntity(this); + if(pos.getOffsetPosition(0, -1, 0).getMaterial(worldObj) == Material.water){ if(this.timeUntilNextDrop > 0){ this.timeUntilNextDrop--; if(timeUntilNextDrop <= 0){ ItemStack fishable = FishingHooks.getRandomFishable(Util.RANDOM, Util.RANDOM.nextFloat()); - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord+1, zCoord); + TileEntity tile = pos.getOffsetPosition(0, 1, 0).getTileEntity(worldObj); if(tile != null && tile instanceof IInventory){ ArrayList list = new ArrayList(); list.add(fishable); - WorldUtil.addToInventory((IInventory)tile, list, ForgeDirection.DOWN, true); + WorldUtil.addToInventory((IInventory)tile, list, EnumFacing.DOWN, true, false); } else{ - EntityItem item = new EntityItem(worldObj, xCoord+0.5, yCoord+0.5, zCoord+0.5, fishable); + EntityItem item = new EntityItem(worldObj, pos.getX()+0.5, pos.getY()+0.5, pos.getZ()+0.5, fishable); item.lifespan = 2000; worldObj.spawnEntityInWorld(item); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java index d1a17a8a7..9ab93af85 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityHeatCollector.java @@ -19,7 +19,7 @@ import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -37,12 +37,12 @@ public class TileEntityHeatCollector extends TileEntityBase implements IEnergyPr super.updateEntity(); if(!worldObj.isRemote){ ArrayList blocksAround = new ArrayList(); - if(ENERGY_PRODUCE <= this.getMaxEnergyStored(ForgeDirection.UNKNOWN)-this.getEnergyStored(ForgeDirection.UNKNOWN)){ + if(ENERGY_PRODUCE <= this.storage.getMaxEnergyStored()-this.storage.getEnergyStored()){ for(int i = 1; i <= 5; i++){ - Position coords = WorldUtil.getCoordsFromSide(WorldUtil.getDirectionBySidesInOrder(i), xCoord, yCoord, zCoord, 0); + Position coords = WorldUtil.getCoordsFromSide(WorldUtil.getDirectionBySidesInOrder(i), Position.fromTileEntity(this), 0); if(coords != null){ - Block block = worldObj.getBlock(coords.getX(), coords.getY(), coords.getZ()); - if(block != null && block.getMaterial() == Material.lava && worldObj.getBlockMetadata(coords.getX(), coords.getY(), coords.getZ()) == 0){ + Block block = coords.getBlock(worldObj); + if(block != null && block.getMaterial() == Material.lava && coords.getMetadata(worldObj) == 0){ blocksAround.add(i); } } @@ -54,13 +54,13 @@ public class TileEntityHeatCollector extends TileEntityBase implements IEnergyPr if(Util.RANDOM.nextInt(10000) == 0){ int randomSide = blocksAround.get(Util.RANDOM.nextInt(blocksAround.size())); - WorldUtil.breakBlockAtSide(WorldUtil.getDirectionBySidesInOrder(randomSide), worldObj, xCoord, yCoord, zCoord); + WorldUtil.breakBlockAtSide(WorldUtil.getDirectionBySidesInOrder(randomSide), worldObj, Position.fromTileEntity(this)); } } } - if(this.getEnergyStored(ForgeDirection.UNKNOWN) > 0){ - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.UP, this.storage); + if(this.storage.getEnergyStored() > 0){ + WorldUtil.pushEnergy(worldObj, Position.fromTileEntity(this), EnumFacing.UP, this.storage); } if(this.oldEnergy != this.storage.getEnergyStored() && this.sendUpdateWithInterval()){ @@ -82,23 +82,23 @@ public class TileEntityHeatCollector extends TileEntityBase implements IEnergyPr } @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate){ + public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate){ return this.storage.extractEnergy(maxExtract, simulate); } @Override - public int getEnergyStored(ForgeDirection from){ + public int getEnergyStored(EnumFacing from){ return this.storage.getEnergyStored(); } @Override - public int getMaxEnergyStored(ForgeDirection from){ + public int getMaxEnergyStored(EnumFacing from){ return this.storage.getMaxEnergyStored(); } @Override - public boolean canConnectEnergy(ForgeDirection from){ - return from == ForgeDirection.UP; + public boolean canConnectEnergy(EnumFacing from){ + return from == EnumFacing.UP; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java index de36d2910..17cd83120 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLeafGenerator.java @@ -19,7 +19,7 @@ import de.ellpeck.actuallyadditions.mod.network.PacketParticle; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -51,9 +51,10 @@ public class TileEntityLeafGenerator extends TileEntityBase implements IEnergyPr for(int reachX = -RANGE; reachX < RANGE+1; reachX++){ for(int reachZ = -RANGE; reachZ < RANGE+1; reachZ++){ for(int reachY = -RANGE; reachY < RANGE+1; reachY++){ - Block block = this.worldObj.getBlock(this.xCoord+reachX, this.yCoord+reachY, this.zCoord+reachZ); - if(block != null && block.isLeaves(this.worldObj, this.xCoord+reachX, this.yCoord+reachY, this.zCoord+reachZ)){ - breakPositions.add(new Position(this.xCoord+reachX, this.yCoord+reachY, this.zCoord+reachZ)); + Position pos = new Position(this.pos.getX()+reachX, this.pos.getY()+reachY, this.pos.getZ()+reachZ); + Block block = pos.getBlock(worldObj); + if(block != null && block.isLeaves(this.worldObj, pos)){ + breakPositions.add(pos); } } } @@ -63,15 +64,15 @@ public class TileEntityLeafGenerator extends TileEntityBase implements IEnergyPr Collections.shuffle(breakPositions); Position theCoord = breakPositions.get(0); - Block theBlock = this.worldObj.getBlock(theCoord.getX(), theCoord.getY(), theCoord.getZ()); - int meta = this.worldObj.getBlockMetadata(theCoord.getX(), theCoord.getY(), theCoord.getZ()); - this.worldObj.playAuxSFX(2001, theCoord.getX(), theCoord.getY(), theCoord.getZ(), Block.getIdFromBlock(theBlock)+(meta << 12)); + Block theBlock = theCoord.getBlock(worldObj); + int meta = theCoord.getMetadata(worldObj); + this.worldObj.playAuxSFX(2001, theCoord, Block.getIdFromBlock(theBlock)+(meta << 12)); - this.worldObj.setBlockToAir(theCoord.getX(), theCoord.getY(), theCoord.getZ()); + this.worldObj.setBlockToAir(this.getPos()); this.storage.receiveEnergy(ENERGY_PRODUCED, false); - PacketHandler.theNetwork.sendToAllAround(new PacketParticle(xCoord, yCoord, zCoord, theCoord.getX(), theCoord.getY(), theCoord.getZ(), new float[]{62F/255F, 163F/255F, 74F/255F}, 5, 1.0F), new NetworkRegistry.TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 64)); + PacketHandler.theNetwork.sendToAllAround(new PacketParticle(this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), theCoord.getX(), theCoord.getY(), theCoord.getZ(), new float[]{62F/255F, 163F/255F, 74F/255F}, 5, 1.0F), new NetworkRegistry.TargetPoint(worldObj.provider.getDimensionId(), this.pos.getX(), this.pos.getY(), this.pos.getZ(), 64)); } } } @@ -80,13 +81,8 @@ public class TileEntityLeafGenerator extends TileEntityBase implements IEnergyPr } } - if(this.getEnergyStored(ForgeDirection.UNKNOWN) > 0){ - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.UP, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.DOWN, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.NORTH, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.EAST, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.SOUTH, storage); - WorldUtil.pushEnergy(worldObj, xCoord, yCoord, zCoord, ForgeDirection.WEST, storage); + if(this.storage.getEnergyStored() > 0){ + WorldUtil.pushEnergyToAllSides(worldObj, Position.fromTileEntity(this), this.storage); } if(this.oldEnergy != this.storage.getEnergyStored() && this.sendUpdateWithInterval()){ @@ -108,22 +104,22 @@ public class TileEntityLeafGenerator extends TileEntityBase implements IEnergyPr } @Override - public int extractEnergy(ForgeDirection from, int maxReceive, boolean simulate){ + public int extractEnergy(EnumFacing from, int maxReceive, boolean simulate){ return this.storage.extractEnergy(maxReceive, simulate); } @Override - public int getEnergyStored(ForgeDirection from){ + public int getEnergyStored(EnumFacing from){ return this.storage.getEnergyStored(); } @Override - public int getMaxEnergyStored(ForgeDirection from){ + public int getMaxEnergyStored(EnumFacing from){ return this.storage.getMaxEnergyStored(); } @Override - public boolean canConnectEnergy(ForgeDirection from){ + public boolean canConnectEnergy(EnumFacing from){ return true; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomPlacer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomPlacer.java index 8c04c5328..56aec2145 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomPlacer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPhantomPlacer.java @@ -19,8 +19,9 @@ import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.Vec3; -import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -49,7 +50,7 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase implements public void updateEntity(){ super.updateEntity(); if(!worldObj.isRemote){ - this.range = TileEntityPhantomface.upgradeRange(RANGE, worldObj, xCoord, yCoord, zCoord); + this.range = TileEntityPhantomface.upgradeRange(RANGE, worldObj, Position.fromTileEntity(this)); if(!this.hasBoundPosition()){ this.boundPosition = null; @@ -85,11 +86,11 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase implements @Override public boolean hasBoundPosition(){ if(this.boundPosition != null){ - if(this.worldObj.getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof IPhantomTile || (this.xCoord == this.boundPosition.getX() && this.yCoord == this.boundPosition.getY() && this.zCoord == this.boundPosition.getZ() && this.worldObj.provider.dimensionId == this.worldObj.provider.dimensionId)){ + if(this.worldObj.getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof IPhantomTile || (this.getPos().getX() == this.boundPosition.getX() && this.getPos().getY() == this.boundPosition.getY() && this.getPos().getZ() == this.boundPosition.getZ() && this.worldObj.provider.getDimensionId() == this.worldObj.provider.getDimensionId())){ this.boundPosition = null; return false; } - return this.worldObj.provider.dimensionId == this.worldObj.provider.dimensionId; + return this.worldObj.provider.getDimensionId() == this.worldObj.provider.getDimensionId(); } return false; } @@ -103,9 +104,9 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase implements drops.addAll(blockToBreak.getDrops(worldObj, boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), meta, 0)); if(WorldUtil.addToInventory(this, drops, false)){ - worldObj.playAuxSFX(2001, boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), Block.getIdFromBlock(blockToBreak)+(meta << 12)); - WorldUtil.breakBlockAtSide(ForgeDirection.UNKNOWN, worldObj, boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); - WorldUtil.addToInventory(this, drops, true); + worldObj.playAuxSFX(2001, this.boundPosition, Block.getIdFromBlock(blockToBreak)+(meta << 12)); + worldObj.setBlockToAir(this.boundPosition); + WorldUtil.addToInventory(this, drops, true, true); this.markDirty(); } } @@ -132,17 +133,17 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase implements double d5 = (double)(Util.RANDOM.nextFloat()*1.0F*(float)j1); double d0 = (double)this.boundPosition.getX()+0.5D+0.25D*(double)i1; double d3 = (double)(Util.RANDOM.nextFloat()*1.0F*(float)i1); - worldObj.spawnParticle("portal", d0, d1, d2, d3, d4, d5); + worldObj.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5); } if(this.ticksElapsed%80 == 0){ - PacketParticle.renderParticlesFromAToB(xCoord, yCoord, zCoord, boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), 2, 0.35F, TileEntityPhantomface.COLORS, 3); + PacketParticle.renderParticlesFromAToB(this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), 2, 0.35F, TileEntityPhantomface.COLORS, 3); } } @Override public boolean isBoundThingInRange(){ - return this.hasBoundPosition() && this.boundPosition.toVec().distanceTo(Vec3.createVectorHelper(xCoord, yCoord, zCoord)) <= this.range; + return this.hasBoundPosition() && this.boundPosition.toVec().distanceTo(new Vec3(this.getPos().getX(), this.getPos().getY(), this.getPos().getZ())) <= this.range; } @Override @@ -190,7 +191,7 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase implements } @Override - public boolean canInsertItem(int slot, ItemStack stack, int side){ + public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side){ return this.isItemValidForSlot(slot, stack); } @@ -200,7 +201,7 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase implements } @Override - public boolean canExtractItem(int slot, ItemStack stack, int side){ + public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side){ return this.isBreaker; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java index aa4fb4ede..e42027ebc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java @@ -14,14 +14,12 @@ import de.ellpeck.actuallyadditions.mod.booklet.GuiBooklet; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.client.renderer.WorldRenderer; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -33,14 +31,14 @@ public class AssetUtil{ public static final ResourceLocation GUI_INVENTORY_LOCATION = getGuiLocation("guiInventory"); public static final int TESR_RENDER_ID = 2; - public static int compostRenderId; + /*public static int compostRenderId; public static int fishingNetRenderId; public static int furnaceSolarRenderId; public static int coffeeMachineRenderId; public static int phantomBoosterRenderId; public static int smileyCloudRenderId; public static int laserRelayRenderId; - public static int bookletStandRenderId; + public static int bookletStandRenderId;*/ public static ResourceLocation getGuiLocation(String file){ return new ResourceLocation(ModUtil.MOD_ID_LOWER, "textures/gui/"+file+".png"); @@ -57,19 +55,21 @@ public class AssetUtil{ @SideOnly(Side.CLIENT) public static void renderItemInWorld(ItemStack stack, int renderPass){ - IIcon icon = stack.getItem().getIcon(stack, renderPass); + //TODO Fix rendering items in world + /*IIcon icon = stack.getItem().getIcon(stack, renderPass); float f = icon.getMinU(); float f1 = icon.getMaxU(); float f2 = icon.getMinV(); float f3 = icon.getMaxV(); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); - ItemRenderer.renderItemIn2D(Tessellator.instance, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 1F/16F); + ItemRenderer.renderItemIn2D(Tessellator.instance, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 1F/16F);*/ } @SideOnly(Side.CLIENT) public static void renderBlockInWorld(Block block, int meta){ - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); - RenderBlocks.getInstance().renderBlockAsItem(block, meta, 1F); + //TODO Fix rendering blocks in world + /*Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); + RenderBlocks.getInstance().renderBlockAsItem(block, meta, 1F);*/ } @SideOnly(Side.CLIENT) @@ -84,11 +84,11 @@ public class AssetUtil{ GL11.glScalef(scale, scale, scale); Minecraft mc = Minecraft.getMinecraft(); - boolean flagBefore = mc.fontRenderer.getUnicodeFlag(); - mc.fontRenderer.setUnicodeFlag(false); - RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), stack, 0, 0); - RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.getTextureManager(), stack, 0, 0); - mc.fontRenderer.setUnicodeFlag(flagBefore); + boolean flagBefore = mc.fontRendererObj.getUnicodeFlag(); + mc.fontRendererObj.setUnicodeFlag(false); + Minecraft.getMinecraft().getRenderItem().renderItemAndEffectIntoGUI(stack, 0, 0); + Minecraft.getMinecraft().getRenderItem().renderItemOverlayIntoGUI(mc.fontRendererObj, stack, 0, 0, null); + mc.fontRendererObj.setUnicodeFlag(flagBefore); //GL+MC+NEI suck if(mc.currentScreen instanceof GuiBooklet || mc.currentScreen == null){ @@ -98,32 +98,31 @@ public class AssetUtil{ } //Copied from Gui.class and changed - public static void drawHorizontalGradientRect(int startX, int startY, int endX, int endY, int firstColor, int secondColor){ - float f = (float)(firstColor >> 24 & 255)/255.0F; - float f1 = (float)(firstColor >> 16 & 255)/255.0F; - float f2 = (float)(firstColor >> 8 & 255)/255.0F; - float f3 = (float)(firstColor & 255)/255.0F; - float f4 = (float)(secondColor >> 24 & 255)/255.0F; - float f5 = (float)(secondColor >> 16 & 255)/255.0F; - float f6 = (float)(secondColor >> 8 & 255)/255.0F; - float f7 = (float)(secondColor & 255)/255.0F; - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(f1, f2, f3, f); - tessellator.addVertex((double)startX, (double)startY, 0); - tessellator.addVertex((double)startX, (double)endY, 0); - tessellator.setColorRGBA_F(f5, f6, f7, f4); - tessellator.addVertex((double)endX, (double)endY, 0); - tessellator.addVertex((double)endX, (double)startY, 0); + public static void drawHorizontalGradientRect(int left, int top, int right, int bottom, int startColor, int endColor, float zLevel){ + float f = (float)(startColor >> 24 & 255)/255.0F; + float f1 = (float)(startColor >> 16 & 255)/255.0F; + float f2 = (float)(startColor >> 8 & 255)/255.0F; + float f3 = (float)(startColor & 255)/255.0F; + float f4 = (float)(endColor >> 24 & 255)/255.0F; + float f5 = (float)(endColor >> 16 & 255)/255.0F; + float f6 = (float)(endColor >> 8 & 255)/255.0F; + float f7 = (float)(endColor & 255)/255.0F; + GlStateManager.disableTexture2D(); + GlStateManager.enableBlend(); + GlStateManager.disableAlpha(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + GlStateManager.shadeModel(7425); + Tessellator tessellator = Tessellator.getInstance(); + WorldRenderer worldrenderer = tessellator.getWorldRenderer(); + worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR); + worldrenderer.pos((double)right, (double)top, (double)zLevel).color(f1, f2, f3, f).endVertex(); + worldrenderer.pos((double)left, (double)top, (double)zLevel).color(f1, f2, f3, f).endVertex(); + worldrenderer.pos((double)left, (double)bottom, (double)zLevel).color(f5, f6, f7, f4).endVertex(); + worldrenderer.pos((double)right, (double)bottom, (double)zLevel).color(f5, f6, f7, f4).endVertex(); tessellator.draw(); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); + GlStateManager.shadeModel(7424); + GlStateManager.disableBlend(); + GlStateManager.enableAlpha(); + GlStateManager.enableTexture2D(); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java index d68404b44..30f08039e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java @@ -49,7 +49,7 @@ public class WorldUtil{ public static void breakBlockAtSide(EnumFacing side, World world, Position pos, int offset){ Position c = getCoordsFromSide(side, pos, offset); if(c != null){ - world.setBlockToAir(pos.toBlockPos()); + world.setBlockToAir(pos); } } @@ -79,7 +79,7 @@ public class WorldUtil{ public static TileEntity getTileEntityFromSide(EnumFacing side, World world, Position pos){ Position c = getCoordsFromSide(side, pos, 0); if(c != null){ - return world.getTileEntity(pos.toBlockPos()); + return world.getTileEntity(pos); } return null; } @@ -118,7 +118,7 @@ public class WorldUtil{ //Fluids FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack); - if(fluid != null && fluid.getFluid().getBlock() != null && fluid.getFluid().getBlock().canPlaceBlockAt(world, offsetPos.toBlockPos())){ + if(fluid != null && fluid.getFluid().getBlock() != null && fluid.getFluid().getBlock().canPlaceBlockAt(world, offsetPos)){ Block block = offsetPos.getBlock(world); if(!(block instanceof IFluidBlock) && block != Blocks.lava && block != Blocks.water && block != Blocks.flowing_lava && block != Blocks.flowing_water){ if(offsetPos.setBlock(world, fluid.getFluid().getBlock(), 0, 2)){ @@ -135,8 +135,8 @@ public class WorldUtil{ //Plants else if(stack.getItem() instanceof IPlantable){ - if(((IPlantable)stack.getItem()).getPlant(world, offsetPos.toBlockPos()).getBlock().canPlaceBlockAt(world, offsetPos.toBlockPos())){ - if(offsetPos.setBlockState(world, ((IPlantable)stack.getItem()).getPlant(world, offsetPos.toBlockPos()), 0, 2)){ + if(((IPlantable)stack.getItem()).getPlant(world, offsetPos).getBlock().canPlaceBlockAt(world, offsetPos)){ + if(offsetPos.setBlockState(world, ((IPlantable)stack.getItem()).getPlant(world, offsetPos), 2)){ stack.stackSize--; } } @@ -144,7 +144,7 @@ public class WorldUtil{ else{ try{ //Blocks - stack.onItemUse(FakePlayerUtil.getFakePlayer(world), world, pos.toBlockPos(), side, 0, 0, 0); + stack.onItemUse(FakePlayerUtil.getFakePlayer(world), world, pos, side, 0, 0, 0); return stack; } catch(Exception e){ @@ -413,7 +413,7 @@ public class WorldUtil{ else{ //Check the Server if a Block that changed on the Client really changed, if not, revert the change //TODO Check if this is the right action - Minecraft.getMinecraft().getNetHandler().addToSendQueue(new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.START_DESTROY_BLOCK, pos.toBlockPos(), Minecraft.getMinecraft().objectMouseOver.sideHit)); + Minecraft.getMinecraft().getNetHandler().addToSendQueue(new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.START_DESTROY_BLOCK, pos, Minecraft.getMinecraft().objectMouseOver.sideHit)); } return removed; }