Jump to content

Cherry05

Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by Cherry05

  1. I'm trying to do a thing where I can revert an explosion via hotkey: @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public static class ClientForgeEvents{ @SubscribeEvent public static void onClientTick(TickEvent.ClientTickEvent event) { if (event.phase == TickEvent.Phase.END) { while (TEST_KEY.get().consumeClick()) { Minecraft mc = Minecraft.getInstance(); mc.player.displayClientMessage(Component.literal("hotkey-test"),false); for(Map.Entry<BlockPos,BlockState> entry : explodedBlocks.entrySet()){ ((LevelAccessor) Minecraft.getInstance().level).setBlock(entry.getKey(),entry.getValue(),1); } explodedBlocks.clear(); } } } @SubscribeEvent public static void onExplosion(ExplosionEvent.Detonate evt) { printToChat(evt.getExplosion().getDirectSourceEntity().toString()); for (BlockPos pos : evt.getAffectedBlocks()) { explodedBlocks.put(pos,Minecraft.getInstance().level.getBlockState(pos)); } } } explodedBlocks is just a Hashmap with BlockPos and BlockState. This almost does what I want, except all blocks are ghosts. I'm assuming I have to run this same thing server side somehow, but apart from the general concept of logical and physical clients and servers I feel like I understand nothing. I also can't find any tutorials for 1.21 and the docs page for SimpleImpl just straight up doesn't work (at least the "Getting Started" part, which makes attempting the rest kinda useless).
  2. I figured it out, you just use Minecraft.getInstance().player.displayClientMessage(Component.literal("Message"),false); or how sendSystemMessage() does it in 1.20.6 with Minecraft.getInstance().gui.getChat().addMessage(Component.literal("Message")); Suddenly clicked that I can look into classes to see how they work
  3. This is my first time modding anything, so maybe just skill issue. I'm using Forge 54.0.12 and Temurin 21.0.5+11-LTS I wanted to create a custom keybind and to check whether it works I'd like to send a chat message. I tried using Minecraft.getInstance().player.sendSystemMessage(Component.literal("test")); but IntelliJ couldnt resolve sendSystemMessage(...). Since I saw people using it in earlier versions, I tried the same thing with 1.20.6(- 50.1.0), where it works fine, now I can't figure out if this is intentional and whether there are other options for sending chat messages. On that note, is there more documentation than https://docs.minecraftforge.net/en/1.21.x/? It seems very incomplete compared to something like the Oracle Java docs
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.