aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/items
diff options
context:
space:
mode:
authorquerns <33518699+querns@users.noreply.github.com>2023-10-09 09:55:31 -0500
committerGitHub <noreply@github.com>2023-10-09 16:55:31 +0200
commitdff250c6d32156270b9a39137346a2b3767cb4a2 (patch)
treec3ad948b6aa9e5b9edefde7e4517e9b78be7d2fe /src/main/java/gregtech/common/items
parent45566b43ee5d8b8f75170916530fd884e0ff74db (diff)
downloadGT5-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.java20
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java10
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.");