Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at create-6.0 43 lines 2.1 kB view raw
1package net.lerariemann.infinity; 2 3import dev.architectury.registry.client.keymappings.KeyMappingRegistry; 4import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; 5import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; 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.var.ModPayloads; 10import net.lerariemann.infinity.registry.var.ModScreenHandlers; 11import net.minecraft.client.option.KeyBinding; 12import net.minecraft.client.util.InputUtil; 13import net.minecraft.item.ItemStack; 14import net.minecraft.util.Hand; 15import net.minecraft.util.TypedActionResult; 16import org.lwjgl.glfw.GLFW; 17 18public class InfinityModClient { 19 public static KeyBinding f4ConfigKey = new KeyBinding("key.infinity.f4", 20 InputUtil.Type.KEYSYM, 21 GLFW.GLFW_KEY_F4, 22 "key.categories.misc"); 23 public static KeyBinding postProcessorConfigKey = new KeyBinding("key.infinity.postprocessor", 24 InputUtil.Type.KEYSYM, 25 GLFW.GLFW_KEY_F12, 26 "key.categories.misc"); 27 28 public static void initializeClient() { 29 ModEntities.registerEntityRenderers(); 30 ModScreenHandlers.register(); 31 KeyMappingRegistry.register(f4ConfigKey); 32 ModPayloads.registerS2CPacketsReceivers(); 33 ClientTickEvents.END_CLIENT_TICK.register(client -> { 34 while (f4ConfigKey.wasPressed()) if (client.player != null 35 && client.player.getStackInHand(Hand.MAIN_HAND).isOf(ModItems.F4.get())) { 36 ClientPlayNetworking.send(new ModPayloads.F4DeployingPacket()); 37 TypedActionResult<ItemStack> result = F4Item.deploy(client.world, client.player, Hand.MAIN_HAND); 38 client.player.setStackInHand(Hand.MAIN_HAND, result.getValue()); 39 } 40 while (postProcessorConfigKey.wasPressed()) client.gameRenderer.togglePostProcessorEnabled(); 41 }); 42 } 43}