From 8965bf854a969b5c8647568c494cf2cc93722f7f Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Sat, 29 May 2021 22:33:15 +0800 Subject: [PATCH] Add front rotation tool --- .../structurelib/StructureLib.java | 4 ++ .../item/ItemFrontRotationTool.java | 38 ++++++++++++++++++ .../assets/structurelib/lang/en_US.lang | 5 +++ .../textures/items/itemFrontRotationTool.png | Bin 0 -> 439 bytes 4 files changed, 47 insertions(+) create mode 100644 src/main/java/com/gtnewhorizon/structurelib/item/ItemFrontRotationTool.java create mode 100644 src/main/resources/assets/structurelib/textures/items/itemFrontRotationTool.png diff --git a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java index 888d8cd2..aa6b48ab 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java +++ b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java @@ -3,6 +3,7 @@ package com.gtnewhorizon.structurelib; import com.gtnewhorizon.structurelib.alignment.AlignmentMessage; import com.gtnewhorizon.structurelib.block.BlockHint; import com.gtnewhorizon.structurelib.item.ItemBlockHint; +import com.gtnewhorizon.structurelib.item.ItemFrontRotationTool; import com.gtnewhorizon.structurelib.proxy.CommonProxy; import com.gtnewhorizon.structurelib.util.XSTR; import cpw.mods.fml.common.Mod; @@ -33,6 +34,7 @@ public class StructureLib { @SidedProxy(serverSide = "com.gtnewhorizon.structurelib.proxy.CommonProxy", clientSide = "com.gtnewhorizon.structurelib.proxy.ClientProxy") static CommonProxy proxy; static SimpleNetworkWrapper net = NetworkRegistry.INSTANCE.newSimpleChannel(MOD_ID); + static { net.registerMessage(AlignmentMessage.ServerHandler.class, AlignmentMessage.AlignmentQuery.class, 0, Side.SERVER); net.registerMessage(AlignmentMessage.ClientHandler.class, AlignmentMessage.AlignmentData.class, 1, Side.CLIENT); @@ -42,6 +44,7 @@ public class StructureLib { static Block blockHint; static Item itemBlockHint; + static Item itemFrontRotationTool; public static final CreativeTabs creativeTab = new CreativeTabs("structurelib") { @Override @SideOnly(Side.CLIENT) @@ -54,6 +57,7 @@ public class StructureLib { public void preInit(FMLPreInitializationEvent e) { GameRegistry.registerBlock(blockHint = new BlockHint(), ItemBlockHint.class, "blockhint"); itemBlockHint = ItemBlock.getItemFromBlock(StructureLibAPI.getBlockHint()); + GameRegistry.registerItem(itemFrontRotationTool = new ItemFrontRotationTool(), itemFrontRotationTool.getUnlocalizedName()); } public static void addClientSideChatMessages(String... messages) { diff --git a/src/main/java/com/gtnewhorizon/structurelib/item/ItemFrontRotationTool.java b/src/main/java/com/gtnewhorizon/structurelib/item/ItemFrontRotationTool.java new file mode 100644 index 00000000..2d323163 --- /dev/null +++ b/src/main/java/com/gtnewhorizon/structurelib/item/ItemFrontRotationTool.java @@ -0,0 +1,38 @@ +package com.gtnewhorizon.structurelib.item; + +import com.gtnewhorizon.structurelib.StructureLib; +import com.gtnewhorizon.structurelib.alignment.AlignmentUtility; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +import java.util.List; + +import static com.gtnewhorizon.structurelib.StructureLib.MOD_ID; +import static net.minecraft.util.StatCollector.translateToLocal; + +public class ItemFrontRotationTool extends Item { + public ItemFrontRotationTool() { + setMaxStackSize(1); + setUnlocalizedName("structurelib.frontRotationTool"); + setTextureName(MOD_ID + ":itemFrontRotationTool"); + setCreativeTab(StructureLib.creativeTab); + } + + @Override + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + return AlignmentUtility.handle(player, world, x, y, z); + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { + aList.add(translateToLocal("item.structurelib.frontRotationTool.desc.0"));//Triggers Front Rotation Interface + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.structurelib.frontRotationTool.desc.1"));//Rotates only the front panel, + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.structurelib.frontRotationTool.desc.2"));//which allows structure rotation. + } +} diff --git a/src/main/resources/assets/structurelib/lang/en_US.lang b/src/main/resources/assets/structurelib/lang/en_US.lang index 46fa27ee..563c811d 100644 --- a/src/main/resources/assets/structurelib/lang/en_US.lang +++ b/src/main/resources/assets/structurelib/lang/en_US.lang @@ -15,6 +15,11 @@ tile.structurelib.blockhint.13.name=Hint air tile.structurelib.blockhint.14.name=Hint no air tile.structurelib.blockhint.15.name=Hint error +item.structurelib.frontRotationTool.name=Front Rotation Tool +item.structurelib.frontRotationTool.desc.0=Triggers Front Rotation Interface +item.structurelib.frontRotationTool.desc.1=Rotates only the front panel, +item.structurelib.frontRotationTool.desc.2=which allows structure rotation. + structurelib.blockhint.desc.0=Helps while building structurelib.blockhint.0.name=Hint 1 dot structurelib.blockhint.1.name=Hint 2 dot diff --git a/src/main/resources/assets/structurelib/textures/items/itemFrontRotationTool.png b/src/main/resources/assets/structurelib/textures/items/itemFrontRotationTool.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5d2b2ad932882be883a61279098f153a73188e GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEU85kI)JzX3_EKaYTyx;FofXK1>?OVc3W@PXPPS>-@bTTNM z8Y_R`=JC&rCCAGXk~4+XJui1HZ2f1+$KJA#V@3KN%lrEG|L&`P*q^NBuP@)C(`eNG zu=}Pg!-aj~pIDYK?B8E@K8jnyPFkhir0v||H+&2q;(60!H8yY6{`P$?yTAABdutz< z99XsT2YZ9n3AKX4?OR@&B>Z7}H?b@H;napr4LYprmkX?BJFA_m$o1flo7wgUUt3Jt z!o<6FzSX!OrlwpV%~c~m