diff options
author | miozune <miozune@gmail.com> | 2022-07-13 05:27:30 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-12 21:27:30 +0100 |
commit | 1e423d38361b740473bc5c0674821b2b5f77ffc0 (patch) | |
tree | fc07a2a8e13a84d9ee575b29772bf742f90a62dc /src/main/java/pers/gwyog/gtneioreplugin/plugin/item | |
parent | 5c06d007a8fee37f493737d4f6e5af1a7df5727c (diff) | |
download | GT5-Unofficial-1e423d38361b740473bc5c0674821b2b5f77ffc0.tar.gz GT5-Unofficial-1e423d38361b740473bc5c0674821b2b5f77ffc0.tar.bz2 GT5-Unofficial-1e423d38361b740473bc5c0674821b2b5f77ffc0.zip |
Rework for Dimension Display (#19)
* Rework for Dimension Display
* side (again)
* :weary:
Diffstat (limited to 'src/main/java/pers/gwyog/gtneioreplugin/plugin/item')
-rw-r--r-- | src/main/java/pers/gwyog/gtneioreplugin/plugin/item/ItemDimensionDisplay.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/plugin/item/ItemDimensionDisplay.java b/src/main/java/pers/gwyog/gtneioreplugin/plugin/item/ItemDimensionDisplay.java new file mode 100644 index 0000000000..7584cf405c --- /dev/null +++ b/src/main/java/pers/gwyog/gtneioreplugin/plugin/item/ItemDimensionDisplay.java @@ -0,0 +1,58 @@ +package pers.gwyog.gtneioreplugin.plugin.item; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import java.util.Objects; +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.MinecraftForgeClient; +import pers.gwyog.gtneioreplugin.GTNEIOrePlugin; +import pers.gwyog.gtneioreplugin.plugin.block.BlockDimensionDisplay; +import pers.gwyog.gtneioreplugin.plugin.block.ModBlocks; +import pers.gwyog.gtneioreplugin.plugin.renderer.ItemDimensionDisplayRenderer; +import pers.gwyog.gtneioreplugin.util.DimensionHelper; + +public class ItemDimensionDisplay extends ItemBlock { + + public ItemDimensionDisplay(Block block) { + super(block); + setCreativeTab(GTNEIOrePlugin.creativeTab); + + if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) { + MinecraftForgeClient.registerItemRenderer(this, new ItemDimensionDisplayRenderer()); + } + } + + public static ItemStack getItem(String dimension) { + Block block = ModBlocks.getBlock(dimension); + if (block != null) { + return new ItemStack(block); + } + return null; + } + + public static String getDimension(ItemStack stack) { + if (stack.getItem() instanceof ItemDimensionDisplay) { + return ((BlockDimensionDisplay) Block.getBlockFromItem(stack.getItem())).getDimension(); + } + return null; + } + + public static boolean isDimensionEqual(ItemStack stack1, ItemStack stack2) { + if (!(stack1.getItem() instanceof ItemDimensionDisplay) + || !(stack2.getItem() instanceof ItemDimensionDisplay)) { + return false; + } + return Objects.equals(getDimension(stack1), getDimension(stack2)); + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + String dimension = getDimension(stack); + if (dimension != null) { + return DimensionHelper.convertCondensedStringToToolTip(dimension).get(0); + } + return super.getItemStackDisplayName(stack); + } +} |