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 5745b5513..fb785ee5c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java @@ -3,43 +3,42 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.api.lens.ILensItem; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntValues; import de.ellpeck.actuallyadditions.mod.tile.TileEntityAtomicReconstructor; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; -import net.minecraft.block.BlockDirectional; import net.minecraft.block.BlockState; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; +import net.minecraft.client.MainWindow; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; +import net.minecraft.item.Rarity; +import net.minecraft.state.StateContainer; +import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.*; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.Mirror; +import net.minecraft.util.Rotation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextFormatting; +import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ToolType; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import javax.annotation.Nullable; import java.util.List; @@ -55,20 +54,13 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud .harvestTool(ToolType.PICKAXE) .sound(SoundType.STONE)); } - -// @Override -// public boolean isOpaqueCube(IBlockState state) { -// return false; -// } - - + @Override - public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit) { + public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit){ ItemStack heldItem = player.getHeldItem(hand); if (this.tryToggleRedstone(world, pos, player)) { return ActionResultType.SUCCESS; } - if (!world.isRemote) { TileEntityAtomicReconstructor reconstructor = (TileEntityAtomicReconstructor) world.getTileEntity(pos); if (reconstructor != null) { @@ -96,120 +88,62 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud } return ActionResultType.SUCCESS; } - - @Nullable + @Override - public TileEntity createTileEntity(BlockState state, IBlockReader world) { + public TileEntity createTileEntity(BlockState state, IBlockReader world){ return new TileEntityAtomicReconstructor(); } - + @Override @OnlyIn(Dist.CLIENT) - public void displayHud(Minecraft minecraft, PlayerEntity player, ItemStack stack, RayTraceResult posHit, int scaledWidth, int scaledHeight) { - TileEntity tile = minecraft.world.getTileEntity(((BlockRayTraceResult) posHit).getPos()); + public void displayHud(Minecraft minecraft, PlayerEntity player, ItemStack stack, BlockRayTraceResult posHit, MainWindow window) { + TileEntity tile = minecraft.world.getTileEntity(posHit.getPos()); if (tile instanceof TileEntityAtomicReconstructor) { ItemStack slot = ((TileEntityAtomicReconstructor) tile).inv.getStackInSlot(0); - String strg; + ITextComponent displayString; if (!StackUtil.isValid(slot)) { - strg = StringUtil.localize("info." + ActuallyAdditions.MODID + ".noLens"); + displayString = new TranslationTextComponent("info." + ActuallyAdditions.MODID + ".noLens"); } else { - strg = slot.getItem().getItemStackDisplayName(slot); + displayString = slot.getItem().getDisplayName(slot); - AssetUtil.renderStackToGui(slot, resolution.getScaledWidth() / 2 + 15, resolution.getScaledHeight() / 2 - 19, 1F); + AssetUtil.renderStackToGui(slot, window.getScaledWidth() / 2 + 15, window.getScaledHeight() / 2 - 19, 1F); } - minecraft.fontRenderer.drawStringWithShadow(TextFormatting.YELLOW + "" + TextFormatting.ITALIC + strg, resolution.getScaledWidth() / 2 + 35, resolution.getScaledHeight() / 2 - 15, StringUtil.DECIMAL_COLOR_WHITE); + minecraft.fontRenderer.drawStringWithShadow(TextFormatting.YELLOW + "" + TextFormatting.ITALIC + displayString.getFormattedText(), window.getScaledWidth() / 2 + 35, window.getScaledHeight() / 2 - 15, StringUtil.DECIMAL_COLOR_WHITE); } } @Override - protected ItemBlockBase getItemBlock() { - return new TheItemBlock(this); + protected BlockItemBase getItemBlock() { + return new BlockItem(); } - + @Override - public EnumRarity getRarity(ItemStack stack) { - return EnumRarity.EPIC; + public Rarity getRarity(){ + return Rarity.EPIC; } - + @Override - public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) { - int rotation = EnumFacing.getDirectionFromEntityLiving(pos, player).ordinal(); - world.setBlockState(pos, this.getStateFromMeta(rotation), 2); - - super.onBlockPlacedBy(world, pos, state, player, stack); + protected void fillStateContainer(StateContainer.Builder builder){ + builder.add(BlockStateProperties.FACING); } - + @Override - public IBlockState getStateFromMeta(int meta) { - return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.byIndex(meta)); + public BlockState rotate(BlockState state, Rotation rot){ + return state.with(BlockStateProperties.FACING, rot.rotate(state.get(BlockStateProperties.FACING))); } - + @Override - public int getMetaFromState(IBlockState state) { - return state.getValue(BlockDirectional.FACING).getIndex(); + public BlockState mirror(BlockState state, Mirror mirrorIn){ + return this.rotate(state, mirrorIn.toRotation(state.get(BlockStateProperties.FACING))); } - + @Override - protected BlockStateContainer createBlockState() { - return new BlockStateContainer(this, BlockDirectional.FACING); - } - - @Override - public IBlockState withRotation(IBlockState state, Rotation rot) { - return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING))); - } - - @Override - public IBlockState withMirror(IBlockState state, Mirror mirror) { - return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING))); - } - - public static class TheItemBlock extends ItemBlockBase { - - private long lastSysTime; - private int toPick1; - private int toPick2; - - public TheItemBlock(Block block) { - super(block); - this.setHasSubtypes(false); - this.setMaxDamage(0); - } - - @Override - public String getTranslationKey(ItemStack stack) { - return this.getTranslationKey(); - } - - @Override - public int getMetadata(int damage) { - return damage; - } - - @Override - public void addInformation(ItemStack stack, World world, List tooltip, ITooltipFlag advanced) { - long sysTime = System.currentTimeMillis(); - - if (this.lastSysTime + 3000 < sysTime) { - this.lastSysTime = sysTime; - if (world != null) { - this.toPick1 = world.rand.nextInt(NAME_FLAVOR_AMOUNTS_1) + 1; - this.toPick2 = world.rand.nextInt(NAME_FLAVOR_AMOUNTS_2) + 1; - } - } - - String base = "tile." + ActuallyAdditions.MODID + "." + ((BlockAtomicReconstructor) this.block).getBaseName() + ".info."; - tooltip.add(StringUtil.localize(base + "1." + this.toPick1) + " " + StringUtil.localize(base + "2." + this.toPick2)); - } - } - - @Override - public boolean hasComparatorInputOverride(IBlockState state) { + public boolean hasComparatorInputOverride(BlockState state){ return true; } - + @Override - public int getComparatorInputOverride(IBlockState blockState, World world, BlockPos pos) { + public int getComparatorInputOverride(BlockState blockState, World world, BlockPos pos) { TileEntity t = world.getTileEntity(pos); int i = 0; if (t instanceof TileEntityAtomicReconstructor) { @@ -217,4 +151,32 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud } return MathHelper.clamp(i / 20000, 0, 15); } + + public class BlockItem extends BlockItemBase { + private long lastSysTime; + private int toPick1; + + private int toPick2; + + public BlockItem() { + super(BlockAtomicReconstructor.this, new Properties()); + } + + @Override + public void addInformation(ItemStack stack, World world, List tooltip, ITooltipFlag flag){ + long sysTime = System.currentTimeMillis(); + + if (this.lastSysTime + 3000 < sysTime) { + this.lastSysTime = sysTime; + if (world != null) { + this.toPick1 = world.rand.nextInt(NAME_FLAVOR_AMOUNTS_1) + 1; + this.toPick2 = world.rand.nextInt(NAME_FLAVOR_AMOUNTS_2) + 1; + } + } + + String base = String.format("tile.%s.%s.info", ActuallyAdditions.MODID, BlockAtomicReconstructor.this.getRegistryName().getPath()); + tooltip.add(new TranslationTextComponent(String.format("%s1.%s", base, this.toPick1)).appendSibling(new TranslationTextComponent(String.format("%s2.%s", base, this.toPick2)))); + } + + } } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBatteryBox.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBatteryBox.java index cf4161953..d08528a25 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBatteryBox.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBatteryBox.java @@ -4,82 +4,75 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.items.ItemBattery; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBatteryBox; import de.ellpeck.actuallyadditions.mod.util.StackUtil; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.item.Rarity; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.math.shapes.ISelectionContext; +import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; import net.minecraftforge.common.ToolType; -import javax.annotation.Nullable; - +// todo add rarity RARE public class BlockBatteryBox extends BlockContainerBase { + public static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D); + public BlockBatteryBox() { super(Properties.create(Material.ROCK) .hardnessAndResistance(1.5f, 10.0f) .harvestLevel(0) .harvestTool(ToolType.PICKAXE) .sound(SoundType.STONE)); - -// this.setHarvestLevel("pickaxe", 0); -// this.setHardness(1.5F); -// this.setResistance(10.0F); -// this.setSoundType(SoundType.STONE); } - + @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) { - return BlockSlabs.AABB_BOTTOM_HALF; + public Rarity getRarity(){ + return Rarity.RARE; } - + @Override - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context){ + return SHAPE; + } + + @Override + public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit){ TileEntity tile = world.getTileEntity(pos); if (tile instanceof TileEntityBatteryBox) { TileEntityBatteryBox box = (TileEntityBatteryBox) tile; ItemStack stack = player.getHeldItem(hand); - + if (StackUtil.isValid(stack)) { if (stack.getItem() instanceof ItemBattery && !StackUtil.isValid(box.inv.getStackInSlot(0))) { box.inv.setStackInSlot(0, stack.copy()); player.setHeldItem(hand, StackUtil.getEmpty()); - return true; + return ActionResultType.SUCCESS; } } else { ItemStack inSlot = box.inv.getStackInSlot(0); if (StackUtil.isValid(inSlot)) { player.setHeldItem(hand, inSlot.copy()); box.inv.setStackInSlot(0, StackUtil.getEmpty()); - return true; + return ActionResultType.SUCCESS; } } } - return false; + return super.onBlockActivated(state, world, pos, player, hand, hit); } - + @Override - public boolean isOpaqueCube(IBlockState state) { - return false; - } - - @Override - public EnumRarity getRarity(ItemStack stack) { - return EnumRarity.RARE; - } - - @Nullable - @Override - public TileEntity createNewTileEntity(IBlockReader worldIn) { + public TileEntity createTileEntity(BlockState state, IBlockReader world){ return new TileEntityBatteryBox(); } + } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBioReactor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBioReactor.java index 142f9d745..7622898fe 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBioReactor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockBioReactor.java @@ -1,19 +1,18 @@ package de.ellpeck.actuallyadditions.mod.blocks; -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.TileEntityBioReactor; +import net.minecraft.block.BlockState; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; -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.entity.player.PlayerEntity; +import net.minecraft.item.Rarity; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.world.IBlockReader; import net.minecraft.world.World; import net.minecraftforge.common.ToolType; @@ -25,24 +24,24 @@ public class BlockBioReactor extends BlockContainerBase { .harvestTool(ToolType.PICKAXE) .sound(SoundType.STONE)); } - + @Override - public TileEntity createNewTileEntity(World worldIn, int meta) { + public TileEntity createTileEntity(BlockState state, IBlockReader world){ return new TileEntityBioReactor(); } - + @Override - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing par6, float par7, float par8, float par9) { + public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit){ if (!world.isRemote) { if (world.getTileEntity(pos) instanceof TileEntityBioReactor) { - player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.BIO_REACTOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); + // todo open gui: player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.BIO_REACTOR.ordinal(), world, pos.getX(), pos.getY(), pos.getZ()); } } - return true; + return ActionResultType.SUCCESS; } - + @Override - public EnumRarity getRarity(ItemStack stack) { - return EnumRarity.EPIC; + public Rarity getRarity() { + return Rarity.EPIC; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java index 7882526b0..da980d3e4 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java @@ -1,11 +1,9 @@ package de.ellpeck.actuallyadditions.mod.blocks; -import java.util.Properties; import java.util.Random; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors; import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; @@ -103,7 +101,7 @@ public class BlockColoredLamp extends Block { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } @@ -134,7 +132,7 @@ public class BlockColoredLamp extends Block { return new BlockStateContainer(this, TYPE); } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { public TheItemBlock(Block block) { super(block); 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 c51e32a00..6f50ff7c2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java @@ -1,8 +1,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; @@ -50,7 +49,7 @@ public class BlockCrystal extends Block { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } @@ -76,7 +75,7 @@ public class BlockCrystal extends Block { return new BlockStateContainer(this, TYPE); } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { public TheItemBlock(Block block) { super(block); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystalCluster.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystalCluster.java index cfa07e13a..e343461cd 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystalCluster.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystalCluster.java @@ -1,40 +1,23 @@ package de.ellpeck.actuallyadditions.mod.blocks; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.entity.LivingEntity; -import net.minecraft.util.Direction; -import org.apache.commons.lang3.ArrayUtils; - -import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; -import de.ellpeck.actuallyadditions.mod.gen.WorldGenLushCaves; -import de.ellpeck.actuallyadditions.mod.items.InitItems; import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals; import de.ellpeck.actuallyadditions.mod.util.IColorProvidingBlock; import de.ellpeck.actuallyadditions.mod.util.IColorProvidingItem; -import net.minecraft.block.BlockDirectional; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.color.IBlockColor; import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.state.StateContainer; +import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.util.Mirror; import net.minecraft.util.Rotation; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraft.world.IBlockReader; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; public class BlockCrystalCluster extends Block implements IColorProvidingBlock, IColorProvidingItem { @@ -47,93 +30,68 @@ public class BlockCrystalCluster extends Block implements IColorProvidingBlock, .lightValue(7)); this.crystal = crystal; - -// this.setHardness(0.25F); -// this.setResistance(1.0F); -// this.setSoundType(SoundType.GLASS); -// this.setLightOpacity(1); -// this.setLightLevel(0.7F); } - -// @Override -// public boolean isFullCube(BlockState state) { -// return false; -// } -// -// @Override -// public boolean isOpaqueCube(BlockState state) { -// return false; -// } - + @Override - public BlockState getStateForPlacement(World world, BlockPos pos, Direction side, float hitX, float hitY, float hitZ, int meta, LivingEntity base) { - return this.getStateFromMeta(side.ordinal()); + public int getOpacity(BlockState state, IBlockReader worldIn, BlockPos pos){ + return 1; + } + + @Override + public BlockState getStateForPlacement(BlockItemUseContext context){ + return super.getStateForPlacement(context).with(BlockStateProperties.FACING, context.getPlacementHorizontalFacing().getOpposite()); + } + + @Override + protected void fillStateContainer(StateContainer.Builder builder){ + builder.add(BlockStateProperties.FACING); + } + + @Override + public BlockState rotate(BlockState state, Rotation rot){ + return state.with(BlockStateProperties.FACING, rot.rotate(state.get(BlockStateProperties.FACING))); + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror){ + return this.rotate(state, mirror.toRotation(state.get(BlockStateProperties.FACING))); } @Override - public IBlockState getStateFromMeta(int meta) { - return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.byIndex(meta)); - } - - @Override - public int getMetaFromState(IBlockState state) { - return state.getValue(BlockDirectional.FACING).getIndex(); - } - - @Override - protected BlockStateContainer createBlockState() { - return new BlockStateContainer(this, BlockDirectional.FACING); - } - - @Override - public IBlockState withRotation(IBlockState state, Rotation rot) { - return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING))); - } - - @Override - public IBlockState withMirror(IBlockState state, Mirror mirror) { - return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING))); - } - - @Override - @SideOnly(Side.CLIENT) + @OnlyIn(Dist.CLIENT) public IBlockColor getBlockColor() { return (state, world, pos, tintIndex) -> BlockCrystalCluster.this.crystal.clusterColor; } @Override - public BlockRenderLayer getRenderLayer() { - return BlockRenderLayer.TRANSLUCENT; - } - - @Override - @SideOnly(Side.CLIENT) + @OnlyIn(Dist.CLIENT) public IItemColor getItemColor() { return (stack, tintIndex) -> BlockCrystalCluster.this.crystal.clusterColor; } + /* todo canitzp: realise block drops with loot tables @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) { + public Item getItemDropped(BlockState state, Random rand, int fortune) { return InitItems.itemCrystalShard; } - + @Override - public int damageDropped(IBlockState state) { + public List getDrops(BlockState state, LootContext.Builder builder){ + return Collections.singletonList(new ItemStack(InitItems.itemCrystalShard, new Random().nextInt(5) + 2)); + } + + @Override + public int damageDropped(BlockState state) { return ArrayUtils.indexOf(WorldGenLushCaves.CRYSTAL_CLUSTERS, this); } - + @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { - return new ItemStack(this); + public void onBlockHarvested(World worldIn, BlockPos pos, BlockState state, PlayerEntity player){ + super.onBlockHarvested(worldIn, pos, state, player); } - - @Override - public int quantityDropped(Random random) { - return random.nextInt(5) + 2; - } - + @Override public boolean canSilkHarvest(World world, BlockPos pos, IBlockState state, EntityPlayer player) { return true; - } + }*/ } \ No newline at end of file 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 fb4b15bc0..58fd8e8b5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceDouble.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockFurnaceDouble.java @@ -2,7 +2,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFurnaceDouble; import de.ellpeck.actuallyadditions.mod.util.StringUtil; @@ -116,11 +116,11 @@ public class BlockFurnaceDouble extends BlockContainerBase { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { public TheItemBlock(Block block) { super(block); 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 f2ea7aedf..28f70faf5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockInputter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockInputter.java @@ -2,7 +2,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityInputter; import de.ellpeck.actuallyadditions.mod.tile.TileEntityInputterAdvanced; @@ -58,7 +58,7 @@ public class BlockInputter extends BlockContainerBase { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } @@ -67,7 +67,7 @@ public class BlockInputter extends BlockContainerBase { return EnumRarity.EPIC; } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { private final Random rand = new Random(); private long lastSysTime; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockMisc.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockMisc.java index 68f6be007..75a360f3a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockMisc.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockMisc.java @@ -1,8 +1,7 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheMiscBlocks; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; @@ -42,7 +41,7 @@ public class BlockMisc extends Block { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } @@ -73,7 +72,7 @@ public class BlockMisc extends Block { return new BlockStateContainer(this, TYPE); } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { public TheItemBlock(Block block) { super(block); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSlabs.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSlabs.java index c84192acc..4c4f23995 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSlabs.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSlabs.java @@ -1,12 +1,11 @@ package de.ellpeck.actuallyadditions.mod.blocks; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockSlab; import net.minecraft.block.BlockState; import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; @@ -19,15 +18,15 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ToolType; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class BlockSlabs extends Block { - public static final AxisAlignedBB AABB_BOTTOM_HALF = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.5D, 1.0D); + public static final VoxelShape AABB_BOTTOM_HALF = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D); private static final AxisAlignedBB AABB_TOP_HALF = new AxisAlignedBB(0.0D, 0.5D, 0.0D, 1.0D, 1.0D, 1.0D); private final BlockState fullBlockState; @@ -68,7 +67,7 @@ public class BlockSlabs extends Block { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } @@ -92,7 +91,7 @@ public class BlockSlabs extends Block { return new BlockStateContainer(this, BlockSlab.HALF); } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { public TheItemBlock(Block block) { super(block); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockWildPlant.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockWildPlant.java index e0958f6c2..b8ca097f0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockWildPlant.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockWildPlant.java @@ -3,12 +3,11 @@ package de.ellpeck.actuallyadditions.mod.blocks; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBushBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockPlant; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheWildPlants; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockCrops; -import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockStateContainer; @@ -66,7 +65,7 @@ public class BlockWildPlant extends BlockBushBase { } @Override - protected ItemBlockBase getItemBlock() { + protected BlockItemBase getItemBlock() { return new TheItemBlock(this); } @@ -102,7 +101,7 @@ public class BlockWildPlant extends BlockBushBase { return stack.getItemDamage() >= ALL_WILD_PLANTS.length ? EnumRarity.COMMON : ALL_WILD_PLANTS[stack.getItemDamage()].getRarity(); } - public static class TheItemBlock extends ItemBlockBase { + public static class TheItemBlock extends BlockItemBase { public TheItemBlock(Block block) { super(block); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/IHudDisplay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/IHudDisplay.java index f90ef04f6..43af344f7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/IHudDisplay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/IHudDisplay.java @@ -1,9 +1,10 @@ package de.ellpeck.actuallyadditions.mod.blocks; +import net.minecraft.client.MainWindow; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.BlockRayTraceResult; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -12,6 +13,6 @@ import javax.annotation.Nullable; public interface IHudDisplay { @OnlyIn(Dist.CLIENT) - void displayHud(Minecraft minecraft, PlayerEntity player, ItemStack stack, @Nullable RayTraceResult posHit, int scaledWidth, int scaledHeight); + void displayHud(Minecraft minecraft, PlayerEntity player, ItemStack stack, BlockRayTraceResult posHit, MainWindow window); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBase.java index ef516c54a..33b87c5dc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBase.java @@ -1,51 +1,17 @@ -//package de.ellpeck.actuallyadditions.mod.blocks.base; -// -//import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -//import de.ellpeck.actuallyadditions.mod.blocks.render.IHasModel; -//import de.ellpeck.actuallyadditions.mod.util.ItemUtil; -//import net.minecraft.block.Block; -//import net.minecraft.block.material.Material; -//import net.minecraft.item.EnumRarity; -//import net.minecraft.item.ItemStack; -//import net.minecraft.item.Rarity; -//import net.minecraftforge.common.IRarity; -// -//public class BlockBase extends Block implements ItemBlockBase.ICustomRarity, IHasModel { -// -// private final String name; -// -// public BlockBase(Material material, String name) { -// super(material); -// this.name = name; -// -// this.register(); -// } -// -// private void register() { -// ItemUtil.registerBlock(this, this.getItemBlock(), this.getBaseName(), this.shouldAddCreative()); -// } -// -// protected String getBaseName() { -// return this.name; -// } -// -// protected ItemBlockBase getItemBlock() { -// return new ItemBlockBase(this); -// } -// -// public boolean shouldAddCreative() { -// return true; -// } -// -// @Override -// public void registerRendering() { -// ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this), this.getRegistryName(), "inventory"); -// } -// -// -// -// @Override -// public Rarity getRarity(ItemStack stack) { -// return EnumRarity.COMMON; -// } -//} +package de.ellpeck.actuallyadditions.mod.blocks.base; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; + +public class BlockBase extends Block implements IBaseBlock{ + + public BlockBase(Properties properties) { + super(properties); + } + + @Override + public BlockItemBase getItemBlock() { + return new BlockItemBase(this, new Item.Properties()); + } + +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBushBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBushBase.java index 6cc57a1b7..bf18f9e0b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBushBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockBushBase.java @@ -2,32 +2,17 @@ package de.ellpeck.actuallyadditions.mod.blocks.base; import net.minecraft.block.BushBlock; import net.minecraft.block.SoundType; +import net.minecraft.item.Item; -public class BlockBushBase extends BushBlock { +public class BlockBushBase extends BushBlock implements IBaseBlock { + public BlockBushBase(Properties properties) { super(properties.sound(SoundType.PLANT)); -// this.register(); } - -// private void register() { -// ItemUtil.registerBlock(this, this.getItemBlock(), this.getBaseName(), this.shouldAddCreative()); -// } - -// protected ItemBlockBase getItemBlock() { -// return new ItemBlockBase(this); -// } - - public boolean shouldAddCreative() { - return true; + + @Override + public BlockItemBase getItemBlock(){ + return new BlockItemBase(this, new Item.Properties()); } - -// @Override -// public void registerRendering() { -// ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this), this.getRegistryName(), "inventory"); -// } - -// @Override -// public EnumRarity getRarity(ItemStack stack) { -// return EnumRarity.COMMON; -// } + } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java index c4093b41f..325ec4a12 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java @@ -29,36 +29,13 @@ import net.minecraftforge.fluids.capability.templates.FluidTank; import javax.annotation.Nullable; import java.util.Random; -public abstract class BlockContainerBase extends Block { +public abstract class BlockContainerBase extends BlockBase { public BlockContainerBase(Properties properties) { super(properties); -// this.register(); } -// private void register() { -// ItemUtil.registerBlock(this, this.getItemBlock(), this.getBaseName(), this.shouldAddCreative()); -// } - -// protected ItemBlockBase getItemBlock() { -// return new ItemBlockBase(this); -// } - - public boolean shouldAddCreative() { - return true; - } - -// @Override -// public void registerRendering() { -// ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this), this.getRegistryName(), "inventory"); -// } -// -// @Override -// public EnumRarity getRarity(ItemStack stack) { -// return EnumRarity.COMMON; -// } - private void dropInventory(World world, BlockPos position) { if (!world.isRemote) { TileEntity aTile = world.getTileEntity(position); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockItemBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockItemBase.java new file mode 100644 index 000000000..3d630ea66 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockItemBase.java @@ -0,0 +1,13 @@ +package de.ellpeck.actuallyadditions.mod.blocks.base; + +import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; + +public class BlockItemBase extends BlockItem { + + public BlockItemBase(T block , Item.Properties properties) { + super(block, properties.rarity(block.getRarity())); + } + +} \ No newline at end of file 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 c3d4ae4d0..14980a227 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 @@ -30,9 +30,8 @@ import net.minecraftforge.items.ItemHandlerHelper; import java.util.List; -public class BlockPlant extends CropsBlock {// implements ItemBlockBase.ICustomRarity, IHasModel { +public class BlockPlant extends CropsBlock implements IBaseBlock { -// private final String name; private final int minDropAmount; private final int addDropAmount; public Item seedItem; @@ -42,59 +41,43 @@ public class BlockPlant extends CropsBlock {// implements ItemBlockBase.ICustomR // todo: find the correct properties for crops public BlockPlant(int minDropAmount, int addDropAmount) { super(Properties.create(Material.PLANTS)); -// this.name = name; + this.minDropAmount = minDropAmount; this.addDropAmount = addDropAmount; -// this.register(); } - + // todo: check what this is doing public void doStuff(Item seedItem, Item returnItem, int returnMeta) { this.seedItem = seedItem; this.returnItem = returnItem; this.returnMeta = returnMeta; } - -// private void register() { -// ItemUtil.registerBlock(this, this.getItemBlock(), this.getBaseName(), this.shouldAddCreative()); -// } - -// protected String getBaseName() { -// return this.name; -// } - -// protected ItemBlockBase getItemBlock() { -// return new ItemBlockBase(this); -// } - + + @Override + public BlockItemBase getItemBlock(){ + return new BlockItemBase(this, new Item.Properties()); + } + public boolean shouldAddCreative() { return false; } - -// @Override -// public void registerRendering() { -// ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this), this.getRegistryName(), "inventory"); -// } -// - - + @Override public PlantType getPlantType(IBlockReader world, BlockPos pos) { return PlantType.Crop; } -// -// @Override -// public int damageDropped(IBlockState state) { -// return this.getMetaFromState(state) >= 7 ? this.returnMeta : 0; -// } - - + + @Override + protected IItemProvider getSeedsItem() { + return this.seedItem; + } + @Override public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { if (getAge(state) > 7) { if (!world.isRemote) { List drops = getDrops(state, (ServerWorld) world, pos, null); - + boolean deductedSeedSize = false; for (ItemStack drop : drops) { if (StackUtil.isValid(drop)) { @@ -107,36 +90,36 @@ public class BlockPlant extends CropsBlock {// implements ItemBlockBase.ICustomR } } } - + world.setBlockState(pos, state.with(AGE, 0)); } - + return ActionResultType.SUCCESS; } - + return super.onBlockActivated(state, world, pos, player, handIn, hit); } + + /* todo: this is likely handled by loot tables now + @Override + public int damageDropped(IBlockState state) { + return this.getMetaFromState(state) >= 7 ? this.returnMeta : 0; + } @Override - protected IItemProvider getSeedsItem() { - return this.seedItem; + public int quantityDropped(IBlockState state, int fortune, Random random) { + return this.getMetaFromState(state) >= 7 ? random.nextInt(this.addDropAmount) + this.minDropAmount : super.quantityDropped(state, fortune, random); } -// todo: this is likely handled by loot tables now + @Override + public Item getCrop() { + return this.returnItem; + } -// @Override -// public int quantityDropped(IBlockState state, int fortune, Random random) { -// return this.getMetaFromState(state) >= 7 ? random.nextInt(this.addDropAmount) + this.minDropAmount : super.quantityDropped(state, fortune, random); -// } - -// @Override -// public Item getCrop() { -// return this.returnItem; -// } - -// @Override -// public Item getItemDropped(IBlockState state, Random rand, int par3) { -// return this.getMetaFromState(state) >= 7 ? this.getCrop() : this.getSeed(); -// } + @Override + public Item getItemDropped(IBlockState state, Random rand, int par3) { + return this.getMetaFromState(state) >= 7 ? this.getCrop() : this.getSeed(); + } + */ } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/IBaseBlock.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/IBaseBlock.java new file mode 100644 index 000000000..7c32ef59c --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/IBaseBlock.java @@ -0,0 +1,17 @@ +package de.ellpeck.actuallyadditions.mod.blocks.base; + +import net.minecraft.item.Rarity; + +public interface IBaseBlock { + + BlockItemBase getItemBlock(); + + default boolean shouldAddCreative() { + return true; + } + + default Rarity getRarity() { + return Rarity.COMMON; + } + +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/ItemBlockBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/ItemBlockBase.java deleted file mode 100644 index ca195fc35..000000000 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/ItemBlockBase.java +++ /dev/null @@ -1,25 +0,0 @@ -package de.ellpeck.actuallyadditions.mod.blocks.base; - -import net.minecraft.block.Block; -import net.minecraft.item.BlockItem; -import net.minecraft.item.Item; - -@Deprecated -public class ItemBlockBase extends BlockItem { - - public ItemBlockBase(Block block, Item.Properties properties) { - super(block, properties); -// this.setHasSubtypes(false); -// this.setMaxDamage(0); - } - -// @Override -// public String getTranslationKey(ItemStack stack) { -// return this.getTranslationKey(); -// } -// -// @Override -// public int getMetadata(int damage) { -// return damage; -// } -} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java b/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java index a465e6dad..866f3a8a9 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java @@ -2,6 +2,7 @@ package de.ellpeck.actuallyadditions.mod.event; import java.util.Locale; +import com.mojang.blaze3d.platform.GlStateManager; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.IHudDisplay; import de.ellpeck.actuallyadditions.mod.config.ConfigValues; @@ -17,30 +18,26 @@ import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.item.SwordItem; +import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.entity.player.ItemTooltipEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.eventbus.api.SubscribeEvent; -@SideOnly(Side.CLIENT) +@OnlyIn(Dist.CLIENT) public class ClientEvents { private static final String ADVANCED_INFO_TEXT_PRE = TextFormatting.DARK_GRAY + " "; @@ -53,9 +50,9 @@ public class ClientEvents { } @SubscribeEvent - public void onClientTick(ClientTickEvent event) { - if (event.phase == Phase.END) { - Minecraft mc = Minecraft.getMinecraft(); + public void onClientTick(TickEvent.ClientTickEvent event) { + if (event.phase == TickEvent.Phase.END) { + Minecraft mc = Minecraft.getInstance(); if (mc.world == null) { WorldData.clear(); @@ -79,7 +76,7 @@ public class ClientEvents { } } - if (ItemWingsOfTheBats.THE_BAT_BAT.equalsIgnoreCase(stack.getDisplayName()) && stack.getItem() instanceof ItemSword) { + if (ItemWingsOfTheBats.THE_BAT_BAT.equalsIgnoreCase(stack.getDisplayName()) && stack.getItem() instanceof SwordItem) { event.getToolTip().set(0, TextFormatting.GOLD + event.getToolTip().get(0)); event.getToolTip().add(1, TextFormatting.RED.toString() + TextFormatting.ITALIC + "That's a really bat pun"); } @@ -88,7 +85,7 @@ public class ClientEvents { //Advanced Item Info if (event.getFlags().isAdvanced() && StackUtil.isValid(event.getItemStack())) { if (ConfigBoolValues.CTRL_EXTRA_INFO.isEnabled()) { - if (GuiScreen.isCtrlKeyDown()) { + if (Screen.hasControlDown()) { event.getToolTip().add(TextFormatting.DARK_GRAY + "" + TextFormatting.ITALIC + StringUtil.localize("tooltip." + ActuallyAdditions.MODID + ".extraInfo.desc") + ":"); //OreDict Names @@ -127,10 +124,10 @@ public class ClientEvents { } //NBT - NBTTagCompound compound = event.getItemStack().getTagCompound(); + CompoundNBT compound = event.getItemStack().getTag(); if (compound != null && !compound.isEmpty()) { event.getToolTip().add(ADVANCED_INFO_HEADER_PRE + StringUtil.localize("tooltip." + ActuallyAdditions.MODID + ".nbt.desc") + ":"); - if (GuiScreen.isShiftKeyDown()) { + if (Screen.hasShiftDown()) { int limit = ConfigIntValues.CTRL_INFO_NBT_CHAR_LIMIT.getValue(); String compoundStrg = compound.toString(); int compoundStrgLength = compoundStrg.length(); @@ -161,58 +158,63 @@ public class ClientEvents { @SubscribeEvent public void onGameOverlay(RenderGameOverlayEvent.Post event) { - if (event.getType() == RenderGameOverlayEvent.ElementType.ALL && Minecraft.getMinecraft().currentScreen == null) { - Minecraft minecraft = Minecraft.getMinecraft(); + if (event.getType() == RenderGameOverlayEvent.ElementType.ALL && Minecraft.getInstance().currentScreen == null) { + Minecraft minecraft = Minecraft.getInstance(); PlayerEntity player = minecraft.player; RayTraceResult posHit = minecraft.objectMouseOver; FontRenderer font = minecraft.fontRenderer; ItemStack stack = player.getHeldItemMainhand(); - if (StackUtil.isValid(stack)) { - if (stack.getItem() instanceof IHudDisplay) { - ((IHudDisplay) stack.getItem()).displayHud(minecraft, player, stack, posHit, event.getResolution()); - } - } - - if (posHit != null && posHit.getBlockPos() != null) { - Block blockHit = minecraft.world.getBlockState(posHit.getBlockPos()).getBlock(); - TileEntity tileHit = minecraft.world.getTileEntity(posHit.getBlockPos()); - - if (blockHit instanceof IHudDisplay) { - ((IHudDisplay) blockHit).displayHud(minecraft, player, stack, posHit, event.getResolution()); - } - - if (tileHit instanceof TileEntityBase) { - TileEntityBase base = (TileEntityBase) tileHit; - if (base.isRedstoneToggle()) { - String strg = String.format("%s: %s", StringUtil.localize("info." + ActuallyAdditions.MODID + ".redstoneMode.name"), TextFormatting.DARK_RED + StringUtil.localize("info." + ActuallyAdditions.MODID + ".redstoneMode." + (base.isPulseMode ? "pulse" : "deactivation")) + TextFormatting.RESET); - font.drawStringWithShadow(strg, event.getResolution().getScaledWidth() / 2 + 5, event.getResolution().getScaledHeight() / 2 + 5, StringUtil.DECIMAL_COLOR_WHITE); - - String expl; - if (StackUtil.isValid(stack) && stack.getItem() == ConfigValues.itemRedstoneTorchConfigurator) { - expl = TextFormatting.GREEN + StringUtil.localize("info." + ActuallyAdditions.MODID + ".redstoneMode.validItem"); - } else { - expl = TextFormatting.GRAY.toString() + TextFormatting.ITALIC + StringUtil.localizeFormatted("info." + ActuallyAdditions.MODID + ".redstoneMode.invalidItem", StringUtil.localize(ConfigValues.itemRedstoneTorchConfigurator.getTranslationKey() + ".name")); - } - font.drawStringWithShadow(expl, event.getResolution().getScaledWidth() / 2 + 5, event.getResolution().getScaledHeight() / 2 + 15, StringUtil.DECIMAL_COLOR_WHITE); + if(posHit instanceof BlockRayTraceResult){ + BlockRayTraceResult blockRayTraceResult = ((BlockRayTraceResult) posHit); + if (StackUtil.isValid(stack)) { + if (stack.getItem() instanceof IHudDisplay) { + ((IHudDisplay) stack.getItem()).displayHud(minecraft, player, stack, blockRayTraceResult, event.getWindow()); } } - - if (tileHit instanceof IEnergyDisplay) { - IEnergyDisplay display = (IEnergyDisplay) tileHit; - if (!display.needsHoldShift() || player.isSneaking()) { - if (energyDisplay == null) { - energyDisplay = new EnergyDisplay(0, 0, null); + + if (blockRayTraceResult.getPos() != null) { + Block blockHit = minecraft.world.getBlockState(blockRayTraceResult.getPos()).getBlock(); + TileEntity tileHit = minecraft.world.getTileEntity(blockRayTraceResult.getPos()); + + if (blockHit instanceof IHudDisplay) { + ((IHudDisplay) blockHit).displayHud(minecraft, player, stack, blockRayTraceResult, event.getWindow()); + } + + if (tileHit instanceof TileEntityBase) { + TileEntityBase base = (TileEntityBase) tileHit; + if (base.isRedstoneToggle()) { + String strg = String.format("%s: %s", StringUtil.localize("info." + ActuallyAdditions.MODID + ".redstoneMode.name"), TextFormatting.DARK_RED + StringUtil.localize("info." + ActuallyAdditions.MODID + ".redstoneMode." + (base.isPulseMode ? "pulse" : "deactivation")) + TextFormatting.RESET); + font.drawStringWithShadow(strg, event.getWindow().getScaledWidth() / 2 + 5, event.getWindow().getScaledHeight() / 2 + 5, StringUtil.DECIMAL_COLOR_WHITE); + + String expl; + if (StackUtil.isValid(stack) && stack.getItem() == ConfigValues.itemRedstoneTorchConfigurator) { + expl = TextFormatting.GREEN + StringUtil.localize("info." + ActuallyAdditions.MODID + ".redstoneMode.validItem"); + } else { + expl = TextFormatting.GRAY.toString() + TextFormatting.ITALIC + StringUtil.localizeFormatted("info." + ActuallyAdditions.MODID + ".redstoneMode.invalidItem", StringUtil.localize(ConfigValues.itemRedstoneTorchConfigurator.getTranslationKey() + ".name")); + } + font.drawStringWithShadow(expl, event.getWindow().getScaledWidth() / 2 + 5, event.getWindow().getScaledHeight() / 2 + 15, StringUtil.DECIMAL_COLOR_WHITE); + } + } + + if (tileHit instanceof IEnergyDisplay) { + IEnergyDisplay display = (IEnergyDisplay) tileHit; + if (!display.needsHoldShift() || player.isSneaking()) { + if (energyDisplay == null) { + energyDisplay = new EnergyDisplay(0, 0, null); + } + energyDisplay.setData(2, event.getWindow().getScaledHeight() - 96, display.getEnergyStorage(), true, true); + + GlStateManager.pushMatrix(); + GlStateManager.color4f(1F, 1F, 1F, 1F); + energyDisplay.draw(); + GlStateManager.popMatrix(); } - energyDisplay.setData(2, event.getResolution().getScaledHeight() - 96, display.getEnergyStorage(), true, true); - - GlStateManager.pushMatrix(); - GlStateManager.color(1F, 1F, 1F, 1F); - energyDisplay.draw(); - GlStateManager.popMatrix(); } } } + + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemSwordAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemSwordAA.java index 37ee08c8d..26e278265 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemSwordAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemSwordAA.java @@ -2,7 +2,7 @@ package de.ellpeck.actuallyadditions.mod.items.base; import de.ellpeck.actuallyadditions.api.misc.IDisableableItem; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.config.ConfigurationHandler; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; @@ -46,8 +46,8 @@ public class ItemSwordAA extends ItemSword implements IDisableableItem { ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this), this.getRegistryName(), "inventory"); } - protected Class getItemBlock() { - return ItemBlockBase.class; + protected Class getItemBlock() { + return BlockItemBase.class; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheCrystals.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheCrystals.java index b1fa50cca..71c43f75a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheCrystals.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheCrystals.java @@ -1,8 +1,8 @@ package de.ellpeck.actuallyadditions.mod.items.metalists; import de.ellpeck.actuallyadditions.mod.util.Util; +import net.minecraft.item.Rarity; import net.minecraft.util.IStringSerializable; -import net.minecraftforge.common.IRarity; public enum TheCrystals implements IStringSerializable { @@ -14,11 +14,11 @@ public enum TheCrystals implements IStringSerializable { IRON("white", Util.CRYSTAL_WHITE_RARITY, 0xCEDDD4, 0.8F, 0.8F, 0.8F); public final String name; - public final IRarity rarity; + public final Rarity rarity; public final float[] conversionColorParticles; public final int clusterColor; - TheCrystals(String name, IRarity rarity, int clusterColor, float... conversionColorParticles) { + TheCrystals(String name, Rarity rarity, int clusterColor, float... conversionColorParticles) { this.name = name; this.rarity = rarity; this.conversionColorParticles = conversionColorParticles; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingBlock.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingBlock.java index 255401496..7c99ee573 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingBlock.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingBlock.java @@ -1,12 +1,12 @@ package de.ellpeck.actuallyadditions.mod.util; import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; public interface IColorProvidingBlock { - @SideOnly(Side.CLIENT) + @OnlyIn(Dist.CLIENT) IBlockColor getBlockColor(); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingItem.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingItem.java index 2d28a56ac..388e8f1a1 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingItem.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/IColorProvidingItem.java @@ -1,12 +1,12 @@ package de.ellpeck.actuallyadditions.mod.util; import net.minecraft.client.renderer.color.IItemColor; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; public interface IColorProvidingItem { - @SideOnly(Side.CLIENT) + @OnlyIn(Dist.CLIENT) IItemColor getItemColor(); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java index 83013c66a..cba748abd 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java @@ -5,7 +5,7 @@ import java.util.List; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.RegistryHandler; -import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; +import de.ellpeck.actuallyadditions.mod.blocks.base.BlockItemBase; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.compat.IMCHandler; import net.minecraft.block.Block; @@ -25,7 +25,8 @@ public final class ItemUtil { return ForgeRegistries.ITEMS.getValue(new ResourceLocation(name)); } - public static void registerBlock(Block block, ItemBlockBase itemBlock, String name, boolean addTab) { + @Deprecated // canitzp: should be removed + public static void registerBlock(Block block, BlockItemBase itemBlock, String name, boolean addTab) { block.setTranslationKey(ActuallyAdditions.MODID + "." + name); block.setRegistryName(ActuallyAdditions.MODID, name); @@ -43,6 +44,7 @@ public final class ItemUtil { } } + @Deprecated // canitzp: should be removed public static void registerItem(Item item, String name, boolean addTab) { item.setTranslationKey(ActuallyAdditions.MODID + "." + name); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/Rarity.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/Rarity.java deleted file mode 100644 index 2b0b2e38b..000000000 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/Rarity.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.ellpeck.actuallyadditions.mod.util; - -import net.minecraft.util.text.TextFormatting; -import net.minecraftforge.common.IRarity; - -public class Rarity implements IRarity { - - TextFormatting color; - String name; - - public Rarity(TextFormatting color, String name) { - this.color = color; - this.name = name; - } - - @Override - public TextFormatting getColor() { - return color; - } - - @Override - public String getName() { - return name; - } - -} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java index 4d8dea749..b5497ee2b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/Util.java @@ -1,36 +1,35 @@ package de.ellpeck.actuallyadditions.mod.util; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; +import net.minecraft.item.Rarity; import net.minecraft.util.text.TextFormatting; -import net.minecraftforge.common.IRarity; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.oredict.OreDictionary; public final class Util { - public static final int WILDCARD = OreDictionary.WILDCARD_VALUE; - public static final int BUCKET = Fluid.BUCKET_VOLUME; + @Deprecated // canitzp: Wildcards and Oredict not supported anymore -> Tags + public static final int WILDCARD = -1;//OreDictionary.WILDCARD_VALUE; + public static final int BUCKET = 1000; - public static final IRarity CRYSTAL_RED_RARITY = addRarity("crystalRed", TextFormatting.DARK_RED, ActuallyAdditions.NAME + " Red Crystal"); - public static final IRarity CRYSTAL_BLUE_RARITY = addRarity("crystalBlue", TextFormatting.DARK_BLUE, ActuallyAdditions.NAME + " Blue Crystal"); - public static final IRarity CRYSTAL_LIGHT_BLUE_RARITY = addRarity("crystalLightBlue", TextFormatting.BLUE, ActuallyAdditions.NAME + " Light Blue Crystal"); - public static final IRarity CRYSTAL_BLACK_RARITY = addRarity("crystalBlack", TextFormatting.DARK_GRAY, ActuallyAdditions.NAME + " Black Crystal"); - public static final IRarity CRYSTAL_GREEN_RARITY = addRarity("crystalGreen", TextFormatting.DARK_GREEN, ActuallyAdditions.NAME + " Green Crystal"); - public static final IRarity CRYSTAL_WHITE_RARITY = addRarity("crystalWhite", TextFormatting.GRAY, ActuallyAdditions.NAME + " White Crystal"); + public static final Rarity CRYSTAL_RED_RARITY = addRarity("crystalRed", TextFormatting.DARK_RED, ActuallyAdditions.NAME + " Red Crystal"); + public static final Rarity CRYSTAL_BLUE_RARITY = addRarity("crystalBlue", TextFormatting.DARK_BLUE, ActuallyAdditions.NAME + " Blue Crystal"); + public static final Rarity CRYSTAL_LIGHT_BLUE_RARITY = addRarity("crystalLightBlue", TextFormatting.BLUE, ActuallyAdditions.NAME + " Light Blue Crystal"); + public static final Rarity CRYSTAL_BLACK_RARITY = addRarity("crystalBlack", TextFormatting.DARK_GRAY, ActuallyAdditions.NAME + " Black Crystal"); + public static final Rarity CRYSTAL_GREEN_RARITY = addRarity("crystalGreen", TextFormatting.DARK_GREEN, ActuallyAdditions.NAME + " Green Crystal"); + public static final Rarity CRYSTAL_WHITE_RARITY = addRarity("crystalWhite", TextFormatting.GRAY, ActuallyAdditions.NAME + " White Crystal"); - public static final IRarity FALLBACK_RARITY = addRarity("fallback", TextFormatting.STRIKETHROUGH, ActuallyAdditions.NAME + " Fallback"); + public static final Rarity FALLBACK_RARITY = addRarity("fallback", TextFormatting.STRIKETHROUGH, ActuallyAdditions.NAME + " Fallback"); - private static IRarity addRarity(String name, TextFormatting color, String displayName) { - return new Rarity(color, displayName); + private static Rarity addRarity(String name, TextFormatting color, String displayName) { + return Rarity.create(displayName, color); } public static boolean isDevVersion() { return ActuallyAdditions.VERSION.equals("@VERSION@"); } + @Deprecated // canitzp: should not be used and removed asap public static boolean isClient() { - return FMLCommonHandler.instance().getEffectiveSide().isClient(); + return false;//FMLCommonHandler.instance().getEffectiveSide().isClient(); } private static String[] splitVersion() {