diff --git a/build.gradle b/build.gradle index 2cf2315..07b61bb 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { id 'eclipse' id 'idea' id 'maven-publish' - id 'net.neoforged.gradle.userdev' version '7.0.136' + id 'net.neoforged.gradle.userdev' version '7.0.138' } version = mod_version diff --git a/gradle.properties b/gradle.properties index d219694..0750054 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ minecraft_version=1.20.6 # as they do not follow standard versioning conventions. minecraft_version_range=[1.20.6,1.21) # The Neo version must agree with the Minecraft version to get a valid artifact -neo_version=20.6.99-beta +neo_version=20.6.100-beta # The Neo version range can use any version of Neo as bounds neo_version_range=[20,) # The loader version range can only use the major version of FML as bounds diff --git a/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java b/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java index 3f297c0..c577fd4 100644 --- a/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java +++ b/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java @@ -13,16 +13,17 @@ import robaertschi.environmenttech.data.attachments.ETAttachments; public class ETChunkEvents { @SubscribeEvent() public static void onChunkLoad(ChunkEvent.Load event) { + if (event.getLevel().isClientSide()) return; if (event.isNewChunk() && event.getChunk() instanceof LevelChunk levelChunk && !event.getChunk().hasData(ETAttachments.ENV)) { if (levelChunk.getStatus() != ChunkStatus.FULL) { return; } int random = event.getLevel().getRandom().nextIntBetweenInclusive(Config.minEnvForNewChunk, Config.maxEnvForNewChunk); - EnvironmentTech.LOGGER.info("New Chunk, set random to {}", random); + EnvironmentTech.LOGGER.debug("New Chunk, set random to {}", random); event.getChunk().setData(ETAttachments.ENV, random); } else if (!event.getChunk().hasData(ETAttachments.ENV)) { int random = event.getLevel().getRandom().nextIntBetweenInclusive(Config.minEnvForNewChunk, Config.maxEnvForNewChunk); - EnvironmentTech.LOGGER.info("Chunk without data, set random to {}", random); + EnvironmentTech.LOGGER.debug("Chunk without data, set random to {}", random); event.getChunk().setData(ETAttachments.ENV, random); } } diff --git a/src/main/java/robaertschi/environmenttech/level/item/ETItems.java b/src/main/java/robaertschi/environmenttech/level/item/ETItems.java index 5c8ea06..afbda44 100644 --- a/src/main/java/robaertschi/environmenttech/level/item/ETItems.java +++ b/src/main/java/robaertschi/environmenttech/level/item/ETItems.java @@ -33,7 +33,7 @@ public class ETItems { public static final DeferredItem EXAMPLE_ITEM = ITEMS.registerSimpleItem("example_item", new Item.Properties().food(new FoodProperties.Builder() .alwaysEdible().nutrition(1).saturationModifier(2f).build())); - public static final DeferredItem ENV_DETECTOR_ITEM = ITEMS.registerItem("env_detector", EnvDetectorItem::new, new Item.Properties().stacksTo(1)); + public static final DeferredItem ENV_DETECTOR_ITEM = ITEMS.registerItem("env_detector", EnvDetectorItem::new, new Item.Properties().stacksTo(1).durability(10)); public static final DeferredHolder EXAMPLE_TAB = CREATIVE_MODE_TABS.register("example_tab", () -> CreativeModeTab.builder() diff --git a/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java b/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java index bf976aa..e5b4a6d 100644 --- a/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java +++ b/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java @@ -1,5 +1,6 @@ package robaertschi.environmenttech.level.item; +import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; @@ -18,19 +19,23 @@ public class EnvDetectorItem extends Item { super(properties); } - @Override - public void onUseTick(Level pLevel, LivingEntity pLivingEntity, ItemStack pStack, int pRemainingUseDuration) { - } @Override public InteractionResultHolder use(Level pLevel, Player pPlayer, InteractionHand pUsedHand) { if (pLevel.isClientSide()) return InteractionResultHolder.pass(pPlayer.getItemInHand(pUsedHand)); + var chunk = pLevel.getChunk(pPlayer.blockPosition()); if (chunk.hasData(ETAttachments.ENV)) { - pPlayer.sendSystemMessage(Component.literal("Chunk has " + chunk.getData(ETAttachments.ENV) + " ENV")); + pPlayer.displayClientMessage(Component.literal("Chunk has " + chunk.getData(ETAttachments.ENV) + " ENV").withStyle(ChatFormatting.GREEN), true); } else { - pPlayer.sendSystemMessage(Component.literal("Warning: This chunk does not have the ENV attachment")); + pPlayer.displayClientMessage(Component.literal("Warning: This chunk does not have the ENV attachment, please report this to the Author of the Mod.").withStyle(ChatFormatting.YELLOW), true); + } + + if (!pPlayer.isCreative()) { + pPlayer.getItemInHand(pUsedHand).hurtAndBreak(1, pLevel.getRandom(), pPlayer, () -> { + pPlayer.getItemInHand(pUsedHand).setCount(0); + }); } return InteractionResultHolder.consume(pPlayer.getItemInHand(pUsedHand));