Guest User

Untitled

a guest
Jul 28th, 2023
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. package tlro.tlro;
  2.  
  3. import com.sun.javafx.geom.Vec3d;
  4. import net.minecraft.block.Block;
  5. import net.minecraft.block.Blocks;
  6. import net.minecraft.client.Minecraft;
  7. import net.minecraft.client.entity.player.ClientPlayerEntity;
  8. import net.minecraft.util.math.vector.Vector3d;
  9. import net.minecraftforge.client.event.InputEvent;
  10. import net.minecraftforge.common.MinecraftForge;
  11. import net.minecraftforge.event.RegistryEvent;
  12. import net.minecraftforge.eventbus.api.SubscribeEvent;
  13. import net.minecraftforge.fml.InterModComms;
  14. import net.minecraftforge.fml.common.Mod;
  15. import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
  16. import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
  17. import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
  18. import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
  19. import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
  20. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  21. import org.apache.logging.log4j.LogManager;
  22. import org.apache.logging.log4j.Logger;
  23.  
  24. import net.minecraftforge.eventbus.api.EventPriority;
  25. import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
  26. import net.minecraftforge.event.TickEvent;
  27. import org.lwjgl.glfw.GLFW;
  28.  
  29. import java.util.stream.Collectors;
  30.  
  31. // The value here should match an entry in the META-INF/mods.toml file
  32. @Mod("tlro")
  33. public class Tlro {
  34. private boolean isKeyPressed = false;
  35. private static final Logger LOGGER = LogManager.getLogger();
  36.  
  37. public Tlro() {
  38. FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
  39. FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC);
  40. FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC);
  41. FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
  42. FMLJavaModLoadingContext.get().getModEventBus().register(this);
  43.  
  44. MinecraftForge.EVENT_BUS.register(this);
  45. }
  46.  
  47. @SubscribeEvent
  48. public void onKeyPress(InputEvent.KeyInputEvent event) {
  49. if (isKeyPressed || event.getKey() != GLFW.GLFW_KEY_F6) {
  50. return;
  51. }
  52.  
  53. isKeyPressed = true;
  54.  
  55. // Get the player's entity
  56. ClientPlayerEntity player = Minecraft.getInstance().player;
  57.  
  58. // Check if the player is not in a menu
  59. if (player != null) {
  60. // Get the player's current position
  61. Vector3d currentPosition = player.getPosition(1);
  62.  
  63. // Update the player's position
  64. player.setPos(currentPosition.x - 1.0, currentPosition.y, currentPosition.z);
  65. }
  66. }
  67.  
  68. @SubscribeEvent
  69. public void onKeyRelease(InputEvent.KeyInputEvent event) {
  70. if (event.getKey() == GLFW.GLFW_KEY_F6) {
  71. isKeyPressed = false;
  72. }
  73. }
  74.  
  75. private void setup(final FMLCommonSetupEvent event) {
  76. LOGGER.info("HELLO FROM PREINIT");
  77. LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
  78. }
  79.  
  80. private void doClientStuff(final FMLClientSetupEvent event) {
  81. LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().options);
  82. }
  83.  
  84. private void enqueueIMC(final InterModEnqueueEvent event) {
  85. InterModComms.sendTo("tlro", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world";});
  86. }
  87.  
  88. private void processIMC(final InterModProcessEvent event) {
  89. LOGGER.info("Got IMC {}", event.getIMCStream().
  90. map(m->m.getMessageSupplier().get()).
  91. collect(Collectors.toList()));
  92. }
  93.  
  94. @SubscribeEvent
  95. public void onServerStarting(FMLServerStartingEvent event) {
  96. LOGGER.info("HELLO from server starting");
  97. }
  98.  
  99. @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
  100. public static class RegistryEvents {
  101. @SubscribeEvent
  102. public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
  103. LOGGER.info("HELLO from Register Block");
  104. }
  105. }
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment