diff options
author | iouter <62897714+iouter@users.noreply.github.com> | 2022-10-05 19:27:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-05 13:27:10 +0200 |
commit | 3747917217697361c1a4ca4da679a1597ac03c04 (patch) | |
tree | c655a84dc5395b0bc6df68e448d4371b13f437b3 /src/main/java/gregtech/common/items | |
parent | e9576a3a670267040abae4f908ffdce8b531a784 (diff) | |
download | GT5-Unofficial-3747917217697361c1a4ca4da679a1597ac03c04.tar.gz GT5-Unofficial-3747917217697361c1a4ca4da679a1597ac03c04.tar.bz2 GT5-Unofficial-3747917217697361c1a4ca4da679a1597ac03c04.zip |
Port pocket multitool from gt6 (#1435)
* Pocket Multitool
* :spotlessApply
* Revert ":spotlessApply"
This reverts commit f1421c537c25627bb3d56ddca4fa610d90b16b07.
* :spotlessApply again
Diffstat (limited to 'src/main/java/gregtech/common/items')
-rw-r--r-- | src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java | 78 | ||||
-rw-r--r-- | src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java | 73 |
2 files changed, 151 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java index 29ea0d94ab..b2fb154339 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java @@ -6,6 +6,7 @@ import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.common.tools.*; +import gregtech.common.tools.pocket.*; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -73,6 +74,14 @@ public class GT_MetaGenerated_Tool_01 extends GT_MetaGenerated_Tool { @Deprecated public static final short TURBINE_BLADE = 178; + public static final short POCKET_MULTITOOL = 180; + public static final short POCKET_BRANCHCUTTER = 182; + public static final short POCKET_FILE = 184; + public static final short POCKET_KNIFE = 186; + public static final short POCKET_SAW = 188; + public static final short POCKET_SCREWDRIVER = 190; + public static final short POCKET_WIRECUTTER = 192; + public static GT_MetaGenerated_Tool_01 INSTANCE; public GT_MetaGenerated_Tool_01() { @@ -491,6 +500,75 @@ public class GT_MetaGenerated_Tool_01 extends GT_MetaGenerated_Tool { addTool(TURBINE_LARGE, "Large Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Large()); addTool(TURBINE_HUGE, "Huge Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Huge()); + addTool( + POCKET_MULTITOOL, + "Pocket Multitool", + "6 useful Tools in one!", + new GT_Tool_Pocket_Multitool(POCKET_KNIFE), + null, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); + addTool( + POCKET_KNIFE, + "Pocket Multitool (Knife)", + "", + new GT_Tool_Pocket_Knife(POCKET_SAW), + ToolDictNames.craftingToolKnife, + ToolDictNames.craftingToolBlade, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); + addTool( + POCKET_SAW, + "Pocket Multitool (Saw)", + "Can also harvest Ice", + new GT_Tool_Pocket_Saw(POCKET_FILE), + ToolDictNames.craftingToolSaw, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); + addTool( + POCKET_FILE, + "Pocket Multitool (File)", + "", + new GT_Tool_Pocket_File(POCKET_SCREWDRIVER), + ToolDictNames.craftingToolFile, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); + GregTech_API.registerTool( + addTool( + POCKET_SCREWDRIVER, + "Pocket Multitool (Screwdriver)", + "Adjusts Covers and Machines", + new GT_Tool_Pocket_Screwdriver(POCKET_WIRECUTTER), + ToolDictNames.craftingToolScrewdriver, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)), + GregTech_API.sScrewdriverList); + GregTech_API.registerTool( + addTool( + POCKET_WIRECUTTER, + "Pocket Multitool (Wire Cutter)", + "", + new GT_Tool_Pocket_WireCutter(POCKET_BRANCHCUTTER), + ToolDictNames.craftingToolWireCutter, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)), + GregTech_API.sWireCutterList); + addTool( + POCKET_BRANCHCUTTER, + "Pocket Multitool (Branch Cutter)", + "", + new GT_Tool_Pocket_BranchCutter(POCKET_MULTITOOL), + ToolDictNames.craftingToolBranchCutter, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); + GT_ModHandler.addCraftingRecipe( INSTANCE.getToolWithStats(MORTAR, 1, Materials.Flint, Materials.Stone, null), GT_ModHandler.RecipeBits.NOT_REMOVABLE, diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java new file mode 100644 index 0000000000..69e5cb8a81 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java @@ -0,0 +1,73 @@ +package gregtech.common.items.behaviors; + +import gregtech.api.items.GT_Generic_Block; +import gregtech.api.items.GT_MetaBase_Item; +import gregtech.api.util.GT_Util; +import gregtech.api.util.GT_Utility; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class Behaviour_Switch_Metadata extends Behaviour_None { + public final int mSwitchIndex; + public final boolean mCheckTarget, mShowModeSwitchTooltip; + + public Behaviour_Switch_Metadata(int aSwitchIndex) { + this(aSwitchIndex, false); + } + + public Behaviour_Switch_Metadata(int aSwitchIndex, boolean aCheckTarget) { + this(aSwitchIndex, aCheckTarget, false); + } + + public Behaviour_Switch_Metadata(int aSwitchIndex, boolean aCheckTarget, boolean aShowModeSwitchTooltip) { + mSwitchIndex = aSwitchIndex; + mCheckTarget = aCheckTarget; + mShowModeSwitchTooltip = aShowModeSwitchTooltip; + } + + @Override + public List<String> getAdditionalToolTips(GT_MetaBase_Item aItem, List<String> aList, ItemStack aStack) { + if (mShowModeSwitchTooltip) aList.add(GT_Utility.trans("330", "Sneak Rightclick to switch Mode")); + return aList; + } + + @Override + public boolean onItemUseFirst( + GT_MetaBase_Item aItem, + ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + int aSide, + float aHitX, + float aHitY, + float aHitZ) { + if (aStack != null && (aPlayer == null || aPlayer.isSneaking()) && !aWorld.isRemote) { + if (mCheckTarget) { + Block aBlock = aWorld.blockExists(aX, aY, aZ) ? aWorld.getBlock(aX, aY, aZ) : Blocks.air; + if (aBlock instanceof GT_Generic_Block) { + Items.feather.setDamage(aStack, (short) mSwitchIndex); + GT_Utility.updateItemStack(aStack); + return true; + } + if (GT_Util.getTileEntity(aWorld, aX, aY, aZ, true) == null) { + Items.feather.setDamage(aStack, (short) mSwitchIndex); + GT_Utility.updateItemStack(aStack); + return true; + } + return false; + } + Items.feather.setDamage(aStack, (short) mSwitchIndex); + GT_Utility.updateItemStack(aStack); + return true; + } + return false; + } +} |