aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/pers/gwyog/gtneioreplugin/plugin/item
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2022-07-13 05:27:30 +0900
committerGitHub <noreply@github.com>2022-07-12 21:27:30 +0100
commit1e423d38361b740473bc5c0674821b2b5f77ffc0 (patch)
treefc07a2a8e13a84d9ee575b29772bf742f90a62dc /src/main/java/pers/gwyog/gtneioreplugin/plugin/item
parent5c06d007a8fee37f493737d4f6e5af1a7df5727c (diff)
downloadGT5-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.java58
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);
+ }
+}