diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-01-18 21:22:16 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-01-18 21:22:16 +0800 |
| commit | bf526920c4ab4bb6719e27c305a35e1772b2873b (patch) | |
| tree | ef0079b05d9f0cb8f463af7e53d1cf9dcc55ea7c /src/main/java | |
| parent | 20110cfeefadb676be66ad2d195e62e0dc136c07 (diff) | |
| download | RoughlyEnoughItems-bf526920c4ab4bb6719e27c305a35e1772b2873b.tar.gz RoughlyEnoughItems-bf526920c4ab4bb6719e27c305a35e1772b2873b.tar.bz2 RoughlyEnoughItems-bf526920c4ab4bb6719e27c305a35e1772b2873b.zip | |
Can't compile yet
Diffstat (limited to 'src/main/java')
50 files changed, 859 insertions, 1164 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index 12f3cf5a9..62b59a9fc 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -7,32 +7,31 @@ import me.shedaniel.rei.client.ClientHelper; import me.shedaniel.rei.client.ConfigHelper; import me.shedaniel.rei.client.RecipeHelper; import me.shedaniel.rei.listeners.IListener; +import me.shedaniel.rei.network.CreateItemsMessage; +import me.shedaniel.rei.network.DeleteItemsMessage; import me.shedaniel.rei.plugin.DefaultPlugin; -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.networking.CustomPayloadPacketRegistry; -import net.minecraft.item.ItemStack; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.sortme.ChatMessageType; -import net.minecraft.text.TranslatableTextComponent; -import net.minecraft.util.Identifier; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.registry.IRegistry; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.dimdev.rift.listener.MessageAdder; +import org.dimdev.rift.network.Message; +import org.dimdev.riftloader.listener.InitializationListener; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitializer { +public class RoughlyEnoughItemsCore { public static final Logger LOGGER = LogManager.getFormatterLogger("REI"); - public static final Identifier DELETE_ITEMS_PACKET = new Identifier("roughlyenoughitems", "delete_item"); - public static final Identifier CREATE_ITEMS_PACKET = new Identifier("roughlyenoughitems", "create_item"); - public static final Identifier DEFAULT_PLUGIN = new Identifier("roughlyenoughitems", "default_plugin"); + public static final ResourceLocation DELETE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "delete_item"); + public static final ResourceLocation CREATE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "create_item"); + public static final ResourceLocation DEFAULT_PLUGIN = new ResourceLocation("roughlyenoughitems", "default_plugin"); private static final List<IListener> listeners = Lists.newArrayList(); - private static final Map<Identifier, IRecipePlugin> plugins = Maps.newHashMap(); - private static ConfigHelper configHelper; + private static final Map<ResourceLocation, IRecipePlugin> plugins = Maps.newHashMap(); + private static final ConfigHelper configHelper = new ConfigHelper(); public static <T> List<T> getListeners(Class<T> listenerClass) { return listeners.stream().filter(listener -> { @@ -46,13 +45,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali return configHelper; } - private static IListener registerListener(IListener listener) { + static IListener registerListener(IListener listener) { listeners.add(listener); return listener; } - public static IRecipePlugin registerPlugin(Identifier identifier, IRecipePlugin plugin) { - plugins.put(identifier, plugin); + public static IRecipePlugin registerPlugin(ResourceLocation ResourceLocation, IRecipePlugin plugin) { + plugins.put(ResourceLocation, plugin); return plugin; } @@ -60,29 +59,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali return new LinkedList<>(plugins.values()); } - public static Identifier getPluginIdentifier(IRecipePlugin plugin) { - for(Identifier identifier : plugins.keySet()) - if (plugins.get(identifier).equals(plugin)) - return identifier; + public static ResourceLocation getPluginResourceLocation(IRecipePlugin plugin) { + for(ResourceLocation ResourceLocation : plugins.keySet()) + if (plugins.get(ResourceLocation).equals(plugin)) + return ResourceLocation; return null; } - @Override - public void onInitializeClient() { - registerREIListeners(); - registerDefaultPlugin(); - configHelper = new ConfigHelper(); - } - - private void registerDefaultPlugin() { - registerPlugin(RoughlyEnoughItemsCore.DEFAULT_PLUGIN, new DefaultPlugin()); - } - - private void registerREIListeners() { - registerListener(new ClientHelper()); - registerListener(new RecipeHelper()); - } - private boolean removeListener(IListener listener) { if (!listeners.contains(listener)) return false; @@ -90,25 +73,4 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali return true; } - @Override - public void onInitialize() { - registerFabricPackets(); - } - - private void registerFabricPackets() { - CustomPayloadPacketRegistry.SERVER.register(DELETE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { - ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); - if (!player.inventory.getCursorStack().isEmpty()) - player.inventory.setCursorStack(ItemStack.EMPTY); - }); - CustomPayloadPacketRegistry.SERVER.register(CREATE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { - ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); - ItemStack stack = packetByteBuf.readItemStack(); - if (player.inventory.insertStack(stack.copy())) - player.sendChatMessage(new TranslatableTextComponent("text.rei.cheat_items", stack.getDisplayName().getFormattedText(), stack.getAmount(), player.getEntityName()), ChatMessageType.SYSTEM); - else - player.sendChatMessage(new TranslatableTextComponent("text.rei.failed_cheat_items"), ChatMessageType.SYSTEM); - }); - } - } diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java new file mode 100644 index 000000000..3db31334c --- /dev/null +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java @@ -0,0 +1,43 @@ +package me.shedaniel.rei; + +import me.shedaniel.rei.client.ClientHelper; +import me.shedaniel.rei.client.RecipeHelper; +import me.shedaniel.rei.network.CreateItemsMessage; +import me.shedaniel.rei.network.DeleteItemsMessage; +import me.shedaniel.rei.plugin.DefaultPlugin; +import net.minecraft.util.registry.IRegistry; +import org.dimdev.rift.listener.MessageAdder; +import org.dimdev.rift.network.Message; +import org.dimdev.riftloader.listener.InitializationListener; +import org.spongepowered.asm.launch.MixinBootstrap; +import org.spongepowered.asm.mixin.Mixins; + +import static me.shedaniel.rei.RoughlyEnoughItemsCore.CREATE_ITEMS_PACKET; +import static me.shedaniel.rei.RoughlyEnoughItemsCore.DELETE_ITEMS_PACKET; + +public class RoughlyEnoughItemsInit implements InitializationListener, MessageAdder { + + @Override + public void onInitialization() { + MixinBootstrap.init(); + Mixins.addConfiguration("roughlyenoughitems.client.json"); + registerREIListeners(); + registerDefaultPlugin(); + } + + private void registerREIListeners() { + RoughlyEnoughItemsCore.registerListener(new ClientHelper()); + RoughlyEnoughItemsCore.registerListener(new RecipeHelper()); + } + + private void registerDefaultPlugin() { + RoughlyEnoughItemsCore.registerPlugin(RoughlyEnoughItemsCore.DEFAULT_PLUGIN, new DefaultPlugin()); + } + + @Override + public void registerMessages(IRegistry<Class<? extends Message>> registry) { + registry.put(DELETE_ITEMS_PACKET, DeleteItemsMessage.class); + registry.put(CREATE_ITEMS_PACKET, CreateItemsMessage.class); + } + +} diff --git a/src/main/java/me/shedaniel/rei/api/IRecipeCategory.java b/src/main/java/me/shedaniel/rei/api/IRecipeCategory.java index 4640b6d24..44fb1ad4d 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipeCategory.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipeCategory.java @@ -1,26 +1,19 @@ package me.shedaniel.rei.api; -import com.mojang.blaze3d.platform.GlStateManager; import me.shedaniel.rei.gui.widget.IWidget; import me.shedaniel.rei.gui.widget.RecipeBaseWidget; -import me.shedaniel.rei.listeners.IMixinContainerGui; -import net.minecraft.client.gui.Drawable; -import net.minecraft.client.render.BufferBuilder; -import net.minecraft.client.render.GuiLighting; -import net.minecraft.client.render.Tessellator; -import net.minecraft.client.render.VertexFormats; +import me.shedaniel.rei.listeners.IMixinGuiContainer; import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; +import net.minecraft.util.ResourceLocation; import java.awt.*; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; public interface IRecipeCategory<T extends IRecipeDisplay> { - public Identifier getIdentifier(); + public ResourceLocation getResourceLocation(); public ItemStack getCategoryIcon(); @@ -30,7 +23,7 @@ public interface IRecipeCategory<T extends IRecipeDisplay> { return false; } - default public List<IWidget> setupDisplay(IMixinContainerGui containerGui, T recipeDisplay, Rectangle bounds) { + default public List<IWidget> setupDisplay(IMixinGuiContainer containerGui, T recipeDisplay, Rectangle bounds) { return Arrays.asList(new RecipeBaseWidget(bounds)); } diff --git a/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java b/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java index 49156a943..d16f66654 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java @@ -1,8 +1,7 @@ package me.shedaniel.rei.api; import me.shedaniel.rei.gui.widget.IWidget; -import me.shedaniel.rei.gui.widget.RecipeViewingWidget; -import me.shedaniel.rei.listeners.IMixinContainerGui; +import me.shedaniel.rei.listeners.IMixinGuiContainer; import net.minecraft.client.gui.Gui; import java.awt.*; @@ -14,6 +13,6 @@ public interface IRecipeCategoryCraftable<T extends IRecipeDisplay> { public boolean performAutoCraft(Gui gui, T recipe); - public void registerAutoCraftButton(List<IWidget> widgets, Rectangle rectangle, IMixinContainerGui parentGui, T recipe); + public void registerAutoCraftButton(List<IWidget> widgets, Rectangle rectangle, IMixinGuiContainer parentGui, T recipe); } diff --git a/src/main/java/me/shedaniel/rei/api/IRecipeDisplay.java b/src/main/java/me/shedaniel/rei/api/IRecipeDisplay.java index 1a19b21c5..ae0800f1c 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipeDisplay.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipeDisplay.java @@ -2,12 +2,12 @@ package me.shedaniel.rei.api; import com.google.common.collect.Lists; import net.minecraft.item.ItemStack; -import net.minecraft.recipe.Recipe; -import net.minecraft.util.Identifier; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.util.ResourceLocation; import java.util.List; -public interface IRecipeDisplay<T extends Recipe> { +public interface IRecipeDisplay<T extends IRecipe> { public abstract T getRecipe(); @@ -19,6 +19,6 @@ public interface IRecipeDisplay<T extends Recipe> { return Lists.newArrayList(); } - public Identifier getRecipeCategory(); + public ResourceLocation getRecipeCategory(); } diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java index fbbd4a93b..4668f552a 100644 --- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java +++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java @@ -2,48 +2,44 @@ package me.shedaniel.rei.client; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import io.netty.buffer.Unpooled; -import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.IRecipeCategory; import me.shedaniel.rei.api.IRecipeDisplay; import me.shedaniel.rei.gui.ContainerGuiOverlay; import me.shedaniel.rei.gui.widget.ConfigWidget; import me.shedaniel.rei.gui.widget.RecipeViewingWidget; import me.shedaniel.rei.listeners.ClientLoaded; -import me.shedaniel.rei.listeners.IMixinContainerGui; -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding; -import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl; -import net.fabricmc.loader.FabricLoader; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.Mouse; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.util.InputUtil; +import me.shedaniel.rei.listeners.IMixinGuiContainer; +import me.shedaniel.rei.network.CreateItemsMessage; +import me.shedaniel.rei.network.DeleteItemsMessage; +import net.minecraft.client.Minecraft; +import net.minecraft.client.MouseHelper; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.settings.KeyBinding; +import net.minecraft.client.util.InputMappings; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.server.network.packet.CustomPayloadServerPacket; -import net.minecraft.util.DefaultedList; -import net.minecraft.util.Identifier; -import net.minecraft.util.PacketByteBuf; -import net.minecraft.util.registry.Registry; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.registry.IRegistry; +import org.dimdev.rift.listener.client.KeyBindingAdder; +import org.dimdev.riftloader.RiftLoader; import java.awt.*; -import java.util.ArrayList; -import java.util.HashMap; +import java.util.*; import java.util.List; -import java.util.Map; -public class ClientHelper implements ClientLoaded, ClientModInitializer { +public class ClientHelper implements ClientLoaded, KeyBindingAdder { - private static final Identifier RECIPE_KEYBIND = new Identifier("roughlyenoughitems", "recipe_keybind"); - private static final Identifier USAGE_KEYBIND = new Identifier("roughlyenoughitems", "usage_keybind"); - private static final Identifier HIDE_KEYBIND = new Identifier("roughlyenoughitems", "hide_keybind"); - public static FabricKeyBinding RECIPE, USAGE, HIDE; + private static final ResourceLocation RECIPE_KEYBIND = new ResourceLocation("roughlyenoughitems", "recipe_keybind"); + private static final ResourceLocation USAGE_KEYBIND = new ResourceLocation("roughlyenoughitems", "usage_keybind"); + private static final ResourceLocation HIDE_KEYBIND = new ResourceLocation("roughlyenoughitems", "hide_keybind"); + public static KeyBinding RECIPE, USAGE, HIDE; private static List<ItemStack> itemList; - private static boolean cheating; + private static boolean cheating = false; public ClientHelper() { this.itemList = Lists.newLinkedList(); @@ -51,19 +47,16 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { public static String getModFromItemStack(ItemStack stack) { if (!stack.isEmpty()) { - Identifier location = Registry.ITEM.getId(stack.getItem()); + ResourceLocation location = IRegistry.ITEM.getKey(stack.getItem()); assert location != null; String modid = location.getNamespace(); if (modid.equalsIgnoreCase("minecraft")) return "Minecraft"; - return FabricLoader.INSTANCE.getModContainers().stream() - .map(modContainer -> { - return modContainer.getInfo(); - }) - .filter(modInfo -> modInfo.getId().equals(modid) || (modInfo.getName() != null && modInfo.getName().equals(modid))) + return RiftLoader.instance.getMods().stream() + .filter(modInfo -> modInfo.id.equals(modid) || (modInfo.name != null && modInfo.name.equals(modid))) .findFirst().map(modInfo -> { - if (modInfo.getName() != null) - return modInfo.getName(); + if (modInfo.name != null) + return modInfo.name; return modid; }).orElse(modid); } @@ -75,10 +68,10 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { } public static Point getMouseLocation() { - MinecraftClient client = MinecraftClient.getInstance(); - Mouse mouse = client.mouse; - double double_1 = mouse.getX() * (double) client.window.getScaledWidth() / (double) client.window.getWidth(); - double double_2 = mouse.getY() * (double) client.window.getScaledHeight() / (double) client.window.getHeight(); + Minecraft client = Minecraft.getInstance(); + MouseHelper mouse = client.mouseHelper; + double double_1 = mouse.getMouseX() * (double) client.mainWindow.getScaledWidth() / (double) client.mainWindow.getWidth(); + double double_2 = mouse.getMouseY() * (double) client.mainWindow.getScaledHeight() / (double) client.mainWindow.getHeight(); return new Point((int) double_1, (int) double_2); } @@ -91,42 +84,41 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { } public static void sendDeletePacket() { - PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer()); - MinecraftClient.getInstance().getNetworkHandler().sendPacket(new CustomPayloadServerPacket(RoughlyEnoughItemsCore.DELETE_ITEMS_PACKET, buf)); + DeleteItemsMessage message = new DeleteItemsMessage(); + Minecraft.getInstance().getConnection().sendPacket(message.toPacket(EnumPacketDirection.CLIENTBOUND)); } public static boolean tryCheatingStack(ItemStack cheatedStack) { try { - PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer()); - buf.writeItemStack(cheatedStack.copy()); - MinecraftClient.getInstance().getNetworkHandler().sendPacket(new CustomPayloadServerPacket(RoughlyEnoughItemsCore.CREATE_ITEMS_PACKET, buf)); + CreateItemsMessage message = new CreateItemsMessage(cheatedStack.copy()); + Minecraft.getInstance().getConnection().sendPacket(message.toPacket(EnumPacketDirection.CLIENTBOUND)); return true; } catch (Exception e) { return false; } } - public static boolean executeRecipeKeyBind(ContainerGuiOverlay overlay, ItemStack stack, IMixinContainerGui parent) { + public static boolean executeRecipeKeyBind(ContainerGuiOverlay overlay, ItemStac |
