diff options
author | querns <33518699+querns@users.noreply.github.com> | 2023-10-09 09:55:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-09 16:55:31 +0200 |
commit | dff250c6d32156270b9a39137346a2b3767cb4a2 (patch) | |
tree | c3ad948b6aa9e5b9edefde7e4517e9b78be7d2fe /src/main/java/gregtech/common/items | |
parent | 45566b43ee5d8b8f75170916530fd884e0ff74db (diff) | |
download | GT5-Unofficial-dff250c6d32156270b9a39137346a2b3767cb4a2.tar.gz GT5-Unofficial-dff250c6d32156270b9a39137346a2b3767cb4a2.tar.bz2 GT5-Unofficial-dff250c6d32156270b9a39137346a2b3767cb4a2.zip |
Allows covers to be configured to tick more slowly (#2307)
* Right clicking covers with a jackhammer will now make them tick more slowly
* Interim commit, switching tasks
* Finishes tick rate button in cover UIs
* Change tick rate multiplier to a tick rate addition
* Missed one number in the multiplier -> addition conversion
* Hold Ctrl to adjust tick rate by 5 steps per click, move button closer to corner of cover GUI
* Adjust how holding Ctrl computes tick rate change, remove gray formatting option for tick rate formatter
* Cover tick rate addition can now be prevented per-cover-behavior, minor code tweaks
Diffstat (limited to 'src/main/java/gregtech/common/items')
-rw-r--r-- | src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java | 20 | ||||
-rw-r--r-- | src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java | 10 |
2 files changed, 21 insertions, 9 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 f7d9bbb236..14af94d70e 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 @@ -443,15 +443,17 @@ public class GT_MetaGenerated_Tool_01 extends GT_MetaGenerated_Tool { new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), GregTech_API.sWrenchList); - addTool( - JACKHAMMER, - "JackHammer (HV)", - "Breaks Rocks into pieces", - new GT_Tool_JackHammer(), - ToolDictNames.craftingToolJackHammer, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L)); + GregTech_API.registerTool( + addTool( + JACKHAMMER, + "JackHammer (HV)", + "Breaks Rocks into pieces", + new GT_Tool_JackHammer(), + ToolDictNames.craftingToolJackHammer, + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L)), + GregTech_API.sJackhammerList); addTool( BUZZSAW_LV, "Buzzsaw (LV)", diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java index 5688872796..4241e07e4b 100644 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java +++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java @@ -31,6 +31,7 @@ public class Behaviour_Cover_Tool extends Behaviour_None { private ISerializableObject mStoredData = GregTech_API.sNoBehavior.createDataObject(); private int mCoverType; + private int mTickRateAddition = 0; @Override public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, @@ -65,6 +66,7 @@ public class Behaviour_Cover_Tool extends Behaviour_None { NBTBase tData = aNBT.getTag("mCoverData"); if (tData != null) mStoredData = tBehavior.createDataObject(tData); else mStoredData = GregTech_API.sNoBehavior.createDataObject(); + mTickRateAddition = aNBT.hasKey("mTickRateAddition") ? aNBT.getInteger("mTickRateAddition") : 0; } } @@ -72,6 +74,7 @@ public class Behaviour_Cover_Tool extends Behaviour_None { aNBT.setInteger("mCoverType", mCoverType); if (mStoredData == null) mStoredData = GregTech_API.sNoBehavior.createDataObject(); aNBT.setTag("mCoverData", mStoredData.saveDataToNBT()); + aNBT.setInteger("mTickRateAddition", mTickRateAddition); } @SuppressWarnings("rawtypes") @@ -116,6 +119,8 @@ public class Behaviour_Cover_Tool extends Behaviour_None { .allowsCopyPasteTool()) { mStoredData = tCoverable.getComplexCoverDataAtSide(tSide); mCoverType = tCoverable.getCoverIDAtSide(tSide); + mTickRateAddition = tCoverable.getCoverInfoAtSide(tSide) + .getTickRateAddition(); aList.add("Block Side: " + EnumChatFormatting.AQUA + tSide.name() + EnumChatFormatting.RESET); aList.add( @@ -126,16 +131,19 @@ public class Behaviour_Cover_Tool extends Behaviour_None { } else { mStoredData = GregTech_API.sNoBehavior.createDataObject(); mCoverType = 0; + mTickRateAddition = 0; aList.add("Copy unavailable for this cover type"); } } else { mStoredData = GregTech_API.sNoBehavior.createDataObject(); mCoverType = 0; + mTickRateAddition = 0; aList.add("No Cover Found"); } } else { mStoredData = GregTech_API.sNoBehavior.createDataObject(); mCoverType = 0; + mTickRateAddition = 0; aList.add("No Cover Found"); } } @@ -155,6 +163,8 @@ public class Behaviour_Cover_Tool extends Behaviour_None { int tCoverID = tCoverable.getCoverIDAtSide(tSide); if (tCoverID == mCoverType) { tCoverable.setCoverDataAtSide(tSide, mStoredData); + tCoverable.getCoverInfoAtSide(tSide) + .setTickRateAddition(mTickRateAddition); GT_Utility.sendChatToPlayer(aPlayer, "Cover Data Pasted."); } else { GT_Utility.sendChatToPlayer(aPlayer, "Not Matched Cover."); |