Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at master 54 lines 2.4 kB view raw
1package net.lerariemann.infinity; 2 3import com.mojang.blaze3d.platform.InputConstants; 4import dev.architectury.event.events.client.ClientTickEvent; 5import dev.architectury.registry.client.keymappings.KeyMappingRegistry; 6import net.lerariemann.infinity.item.F4Item; 7import net.lerariemann.infinity.registry.core.ModEntities; 8import net.lerariemann.infinity.registry.core.ModItems; 9import net.lerariemann.infinity.registry.payload.ModPayloads; 10import net.lerariemann.infinity.registry.payload.c2s.F4DeployC2SPayload; 11import net.lerariemann.infinity.registry.var.ModScreenHandlers; 12import net.lerariemann.infinity.util.VersionMethods; 13import net.minecraft.client.KeyMapping; 14import net.minecraft.world.InteractionHand; 15import net.minecraft.world.item.ItemStack; 16import org.lwjgl.glfw.GLFW; 17 18//? if >1.21.9 { 19/*import static net.minecraft.client.KeyMapping.Category.MISC; 20*///?} 21 22public class InfinityModClient { 23 24 //? if <1.21.9 { 25 public static String MISC = "key.categories.misc"; 26 //?} 27 28 public static KeyMapping f4ConfigKey = new KeyMapping("key.infinity.f4", 29 InputConstants.Type.KEYSYM, 30 GLFW.GLFW_KEY_F4, 31 MISC); 32 public static KeyMapping postProcessorConfigKey = new KeyMapping("key.infinity.postprocessor", 33 InputConstants.Type.KEYSYM, 34 GLFW.GLFW_KEY_F12, 35 MISC); 36 37 public static void initializeClient() { 38 ModEntities.registerEntityRenderers(); 39 ModScreenHandlers.register(); 40 KeyMappingRegistry.register(f4ConfigKey); 41 ModPayloads.registerS2CPacketsReceivers(); 42 ClientTickEvent.CLIENT_POST.register(client -> { 43 while (f4ConfigKey.consumeClick()) if (client.player != null 44 && client.player.getItemInHand(InteractionHand.MAIN_HAND).is(ModItems.F4.get())) { 45 F4DeployC2SPayload.INSTANCE.send(); 46 var result = F4Item.deploy(client.level, client.player, InteractionHand.MAIN_HAND); 47 ItemStack interactionHolderResult = VersionMethods.getInteractionHolderResult(result); 48 if (interactionHolderResult != null) 49 client.player.setItemInHand(InteractionHand.MAIN_HAND, interactionHolderResult); 50 } 51 while (postProcessorConfigKey.consumeClick()) client.gameRenderer.togglePostEffect(); 52 }); 53 } 54}