Skip to content

Commit 910acc6

Browse files
committed
Skip durability/energy use in creative or spectator modes. Resolves #361
1 parent 28e552f commit 910acc6

File tree

1 file changed

+8
-0
lines changed
  • src/main/java/com/direwolf20/justdirethings/common/items/interfaces

1 file changed

+8
-0
lines changed

src/main/java/com/direwolf20/justdirethings/common/items/interfaces/Helpers.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ public static boolean removeBlock(ServerLevel level, ServerPlayer player, BlockP
154154
}*/
155155

156156
public static void damageTool(ItemStack stack, LivingEntity player) {
157+
if (player instanceof ServerPlayer serverPlayer && (serverPlayer.gameMode.getGameModeForPlayer() == GameType.CREATIVE || serverPlayer.gameMode.getGameModeForPlayer() == GameType.SPECTATOR))
158+
return;
157159
if (stack.getItem() instanceof PoweredTool poweredTool) {
158160
stack.hurtAndBreak(poweredTool.getBlockBreakFECost(), player, LivingEntity.getSlotForHand(InteractionHand.MAIN_HAND));
159161
} else {
@@ -165,6 +167,8 @@ public static void damageTool(ItemStack stack, LivingEntity player) {
165167
}
166168

167169
public static void damageTool(ItemStack stack, LivingEntity player, int amount) {
170+
if (player instanceof ServerPlayer serverPlayer && (serverPlayer.gameMode.getGameModeForPlayer() == GameType.CREATIVE || serverPlayer.gameMode.getGameModeForPlayer() == GameType.SPECTATOR))
171+
return;
168172
if (stack.getItem() instanceof PoweredItem poweredTool) {
169173
stack.hurtAndBreak(amount, player, LivingEntity.getSlotForHand(InteractionHand.MAIN_HAND));
170174
} else {
@@ -176,6 +180,8 @@ public static void damageTool(ItemStack stack, LivingEntity player, int amount)
176180
}
177181

178182
public static void damageTool(ItemStack stack, LivingEntity player, Ability ability) {
183+
if (player instanceof ServerPlayer serverPlayer && (serverPlayer.gameMode.getGameModeForPlayer() == GameType.CREATIVE || serverPlayer.gameMode.getGameModeForPlayer() == GameType.SPECTATOR))
184+
return;
179185
if (stack.getItem() instanceof PoweredItem) {
180186
stack.hurtAndBreak(ability.getFeCost(), player, LivingEntity.getSlotForHand(InteractionHand.MAIN_HAND));
181187
} else {
@@ -187,6 +193,8 @@ public static void damageTool(ItemStack stack, LivingEntity player, Ability abil
187193
}
188194

189195
public static void damageTool(ItemStack stack, LivingEntity player, Ability ability, int multiplier) {
196+
if (player instanceof ServerPlayer serverPlayer && (serverPlayer.gameMode.getGameModeForPlayer() == GameType.CREATIVE || serverPlayer.gameMode.getGameModeForPlayer() == GameType.SPECTATOR))
197+
return;
190198
if (stack.getItem() instanceof PoweredItem) {
191199
stack.hurtAndBreak(ability.getFeCost() * multiplier, player, LivingEntity.getSlotForHand(InteractionHand.MAIN_HAND));
192200
} else {

0 commit comments

Comments
 (0)