diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-01-25 20:42:58 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-01-25 20:42:58 +0800 |
| commit | 179890a17ef52f0bcf3cd75c77f047c4a03e49ec (patch) | |
| tree | 668d94f7b23f0b7efe1c4ebc0a82bb1aa7c36931 /src/main/java | |
| parent | 2738af5ebb9a96896ae6130ec8aa123de52a3fa1 (diff) | |
| download | RoughlyEnoughItems-179890a17ef52f0bcf3cd75c77f047c4a03e49ec.tar.gz RoughlyEnoughItems-179890a17ef52f0bcf3cd75c77f047c4a03e49ec.tar.bz2 RoughlyEnoughItems-179890a17ef52f0bcf3cd75c77f047c4a03e49ec.zip | |
Updated to 19w04a & Campfire Category
Diffstat (limited to 'src/main/java')
43 files changed, 241 insertions, 214 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index 3097f9930..6c54394c7 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -1,12 +1,10 @@ package me.shedaniel.rei; -import com.google.common.collect.Lists; import com.google.common.collect.Maps; import me.shedaniel.rei.api.IRecipePlugin; 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.plugin.DefaultPlugin; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.ModInitializer; @@ -25,32 +23,27 @@ import org.apache.logging.log4j.Logger; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitializer { 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"); - private static final List<IListener> listeners = Lists.newArrayList(); + private static final RecipeHelper RECIPE_HELPER = new RecipeHelper(); + private static final ClientHelper CLIENT_HELPER = new ClientHelper(); private static final Map<Identifier, IRecipePlugin> plugins = Maps.newHashMap(); private static ConfigHelper configHelper; - public static <T> List<T> getListeners(Class<T> listenerClass) { - return listeners.stream().filter(listener -> { - return listenerClass.isAssignableFrom(listener.getClass()); - }).map(listener -> { - return listenerClass.cast(listener); - }).collect(Collectors.toList()); + public static RecipeHelper getRecipeHelper() { + return RECIPE_HELPER; } public static ConfigHelper getConfigHelper() { return configHelper; } - private static IListener registerListener(IListener listener) { - listeners.add(listener); - return listener; + public static ClientHelper getClientHelper() { + return CLIENT_HELPER; } public static IRecipePlugin registerPlugin(Identifier identifier, IRecipePlugin plugin) { @@ -72,7 +65,6 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali @Override public void onInitializeClient() { - registerREIListeners(); // If pluginloader is not installed, base functionality should still remain if (!Loader.getInstance().isModLoaded("pluginloader")) { RoughlyEnoughItemsCore.LOGGER.warn("REI: Plugin Loader is not loaded! Please consider installing https://minecraft.curseforge.com/projects/pluginloader for REI plugin compatibility!"); @@ -81,18 +73,6 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali configHelper = new ConfigHelper(); } - private void registerREIListeners() { - registerListener(new ClientHelper()); - registerListener(new RecipeHelper()); - } - - private boolean removeListener(IListener listener) { - if (!listeners.contains(listener)) - return false; - listeners.remove(listener); - return true; - } - @Override public void onInitialize() { registerFabricPackets(); @@ -108,11 +88,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); ItemStack stack = packetByteBuf.readItemStack(); if (player.inventory.insertStack(stack.copy())) - player.sendChatMessage(new StringTextComponent(I18n.translate("text.rei.cheat_items") - .replaceAll("\\{item_name}", stack.copy().getDisplayName().getFormattedText()) - .replaceAll("\\{item_count}", stack.copy().getAmount() + "") - .replaceAll("\\{player_name}", player.getEntityName()) - ), ChatMessageType.SYSTEM); + player.sendChatMessage(new StringTextComponent(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", stack.copy().getDisplayName().getFormattedText()).replaceAll("\\{item_count}", stack.copy().getAmount() + "").replaceAll("\\{player_name}", 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/RoughlyEnoughItemsPlugins.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsPlugins.java index 80e1bafd9..0b7bc19c0 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsPlugins.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsPlugins.java @@ -9,22 +9,19 @@ import net.fabricmc.loader.language.LanguageAdapterException; import net.minecraft.util.Identifier; public class RoughlyEnoughItemsPlugins implements LoaderCreator { - + @Override public void createLoaders() { LanguageAdapter.Options instantiationOptions = new LanguageAdapter.Options(); - - new PluginLoaderBuilder("roughlyenoughitems") - .withValidator(ValidationStrategy.hasInterface(IRecipePlugin.class)) - .withInitializer((aClass, container) -> { - Identifier id = new Identifier(container.getOwner().getInfo().getId(), container.getInfo().getId()); - try { - IRecipePlugin plugin = (IRecipePlugin) container.getOwner().getAdapter().createInstance(aClass, instantiationOptions); - RoughlyEnoughItemsCore.registerPlugin(id, plugin); - } catch (LanguageAdapterException e) { - RoughlyEnoughItemsCore.LOGGER.error("REI: Error loading plugin %s", id, e); - } - }) - .build(); + + new PluginLoaderBuilder("roughlyenoughitems").withValidator(ValidationStrategy.hasInterface(IRecipePlugin.class)).withInitializer((aClass, container) -> { + Identifier id = new Identifier(container.getOwner().getInfo().getId(), container.getInfo().getId()); + try { + IRecipePlugin plugin = (IRecipePlugin) container.getOwner().getAdapter().createInstance(aClass, instantiationOptions); + RoughlyEnoughItemsCore.registerPlugin(id, plugin); + } catch (LanguageAdapterException e) { + RoughlyEnoughItemsCore.LOGGER.error("REI: Error loading plugin %s", id, e); + } + }).build(); } } diff --git a/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java b/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java index 49156a943..f782ccadd 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipeCategoryCraftable.java @@ -1,7 +1,6 @@ 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 net.minecraft.client.gui.Gui; diff --git a/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java b/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java index b14e598ee..064f20abe 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java @@ -1,7 +1,5 @@ package me.shedaniel.rei.api; -import me.shedaniel.rei.listeners.IListener; - public interface IRecipePlugin { public void registerPluginCategories(); diff --git a/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java b/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java index 6dd998d47..e2ed4b83d 100644 --- a/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java +++ b/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java @@ -1,6 +1,5 @@ package me.shedaniel.rei.api; -import me.shedaniel.rei.plugin.DefaultCraftingDisplay; import net.minecraft.client.gui.Gui; public interface SpeedCraftFunctional<T extends IRecipeDisplay> { diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java index 5e8ba2585..86b099bc3 100644 --- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java +++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java @@ -9,7 +9,6 @@ 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; @@ -36,7 +35,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -public class ClientHelper implements ClientLoaded, ClientModInitializer { +public class ClientHelper implements ClientModInitializer { private static final Identifier RECIPE_KEYBIND = new Identifier("roughlyenoughitems", "recipe_keybind"); private static final Identifier USAGE_KEYBIND = new Identifier("roughlyenoughitems", "usage_keybind"); @@ -56,16 +55,13 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { 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))) - .findFirst().map(modInfo -> { - if (modInfo.getName() != null) - return modInfo.getName(); - return modid; - }).orElse(modid); + return FabricLoader.INSTANCE.getModContainers().stream().map(modContainer -> { + return modContainer.getInfo(); + }).filter(modInfo -> modInfo.getId().equals(modid) || (modInfo.getName() != null && modInfo.getName().equals(modid))).findFirst().map(modInfo -> { + if (modInfo.getName() != null) + return modInfo.getName(); + return modid; + }).orElse(modid); } return ""; } @@ -112,11 +108,9 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { } else { Identifier location = Registry.ITEM.getId(cheatedStack.getItem()); String tagMessage = cheatedStack.copy().getTag() != null && !cheatedStack.copy().getTag().isEmpty() ? cheatedStack.copy().getTag().asString() : ""; - String madeUpCommand = RoughlyEnoughItemsCore.getConfigHelper().getGiveCommandPrefix() + " " + MinecraftClient.getInstance().player.getEntityName() + " " + - location.toString() + tagMessage + (cheatedStack.getAmount() != 1 ? " " + cheatedStack.getAmount() : ""); + String madeUpCommand = RoughlyEnoughItemsCore.getConfigHelper().getGiveCommandPrefix() + " " + MinecraftClient.getInstance().player.getEntityName() + " " + location.toString() + tagMessage + (cheatedStack.getAmount() != 1 ? " " + cheatedStack.getAmount() : ""); if (madeUpCommand.length() > 256) - madeUpCommand = RoughlyEnoughItemsCore.getConfigHelper().getGiveCommandPrefix() + " " + MinecraftClient.getInstance().player.getEntityName() + " " + - location.toString() + (cheatedStack.getAmount() != 1 ? " " + cheatedStack.getAmount() : ""); + madeUpCommand = RoughlyEnoughItemsCore.getConfigHelper().getGiveCommandPrefix() + " " + MinecraftClient.getInstance().player.getEntityName() + " " + location.toString() + (cheatedStack.getAmount() != 1 ? " " + cheatedStack.getAmount() : ""); MinecraftClient.getInstance().player.sendChatMessage(madeUpCommand); return true; } @@ -141,8 +135,7 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { } public static List<ItemStack> getInventoryItemsTypes() { - List<DefaultedList<ItemStack>> field_7543 = ImmutableList.of(MinecraftClient.getInstance().player.inventory.main, MinecraftClient.getInstance().player.inventory.armor - , MinecraftClient.getInstance().player.inventory.offHand); + List<DefaultedList<ItemStack>> field_7543 = ImmutableList.of(MinecraftClient.getInstance().player.inventory.main, MinecraftClient.getInstance().player.inventory.armor, MinecraftClient.getInstance().player.inventory.offHand); List<ItemStack> inventoryStacks = new ArrayList<>(); field_7543.forEach(itemStacks -> itemStacks.forEach(itemStack -> { if (!itemStack.getItem().equals(Items.AIR)) @@ -151,7 +144,6 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer { return inventoryStacks; } - @Override public void clientLoaded() { Registry.ITEM.forEach(item -> { if (!item.equals(Items.ENCHANTED_BOOK)) diff --git a/src/main/java/me/shedaniel/rei/client/GuiHelper.java b/src/main/java/me/shedaniel/rei/client/GuiHelper.java index bae2d852a..6fbb6a2a8 100644 --- a/src/main/java/me/shedaniel/rei/client/GuiHelper.java +++ b/src/main/java/me/shedaniel/rei/client/GuiHelper.java @@ -24,7 +24,7 @@ public class GuiHelper { overlayVisible = !overlayVisible; } - public static ContainerGuiOverlay getOverlay(ContainerGui lastGui) { + public static ContainerGuiOverlay getOverlay(IMixinContainerGui lastGui) { if (overlay == null) { overlay = new ContainerGuiOverlay(lastGui); overlay.onInitialized(); diff --git a/src/main/java/me/shedaniel/rei/client/REIConfig.java b/src/main/java/me/shedaniel/rei/client/REIConfig.java index db14b282f..49ccb1dec 100644 --- a/src/main/java/me/shedaniel/rei/client/REIConfig.java +++ b/src/main/java/me/shedaniel/rei/client/REIConfig.java @@ -3,13 +3,9 @@ package me.shedaniel.rei.client; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import java.awt.event.KeyEvent; - public class REIConfig { - public static Gson GSON = new GsonBuilder() - .setPrettyPrinting() - .create(); + public static Gson GSON = new GsonBuilder().setPrettyPrinting().create(); public REIItemListOrdering itemListOrdering = REIItemListOrdering.REGISTRY; public boolean isAscending = true; diff --git a/src/main/java/me/shedaniel/rei/client/REIItemListOrdering.java b/src/main/java/me/shedaniel/rei/client/REIItemListOrdering.java index b0167d352..8f9e317eb 100644 --- a/src/main/java/me/shedaniel/rei/client/REIItemListOrdering.java +++ b/src/main/java/me/shedaniel/rei/client/REIItemListOrdering.java @@ -4,9 +4,7 @@ import com.google.gson.annotations.SerializedName; public enum REIItemListOrdering { - @SerializedName("registry") REGISTRY("ordering.rei.registry"), - @SerializedName("name") NAME("ordering.rei.name"), - @SerializedName("item_groups") ITEM_GROUPS("ordering.rei.item_groups"); + @SerializedName("registry") REGISTRY("ordering.rei.registry"), @SerializedName("name") NAME("ordering.rei.name"), @SerializedName("item_groups") ITEM_GROUPS("ordering.rei.item_groups"); private String nameTranslationKey; diff --git a/src/main/java/me/shedaniel/rei/client/RecipeHelper.java b/src/main/java/me/shedaniel/rei/client/RecipeHelper.java index 32d4f0ba5..378eb2f59 100644 --- a/src/main/java/me/shedaniel/rei/client/RecipeHelper.java +++ b/src/main/java/me/shedaniel/rei/client/RecipeHelper.java @@ -4,7 +4,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.*; -import me.shedaniel.rei.listeners.RecipeSync; import net.minecraft.item.ItemStack; import net.minecraft.recipe.RecipeManager; import net.minecraft.util.Identifier; @@ -14,7 +13,7 @@ import java.util.*; import java.util.List; import java.util.stream.Collectors; -public class RecipeHelper implements RecipeSync { +public class RecipeHelper { private static Map<Identifier, List<IRecipeDisplay>> recipeCategoryListMap; private static List<IRecipeCategory> categories; @@ -145,7 +144,6 @@ public class RecipeHelper implements RecipeSync { speedCraftFunctionalMap.put(category, list); } - @Override public void recipesLoaded(RecipeManager recipeManager) { this.recipeManager = recipeManager; this.recipeCategoryListMap.clear(); diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java index a1e0a4cf9..206080582 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java @@ -36,9 +36,9 @@ public class ContainerGuiOverlay extends Gui { private ButtonWidget buttonLeft, buttonRight; private int lastLeft; - public ContainerGuiOverlay(ContainerGui containerGui) { + public ContainerGuiOverlay(IMixinContainerGui containerGui) { this.queuedTooltips = new ArrayList<>(); - this.containerGui = (IMixinContainerGui) containerGui; + this.containerGui = containerGui; this.widgets = new ArrayList<>(); } @@ -242,7 +242,8 @@ public class ContainerGuiOverlay extends Gui { buttonLeft.onPressed(0, 0, 0); else if (amount < 0 && buttonRight.enabled) buttonRight.onPressed(0, 0, 0); - else return false; + else + return false; return true; } for(IWidget widget : widgets) diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java index 7d2cfb4ab..96fbc54b3 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java @@ -5,7 +5,6 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.audio.PositionedSoundInstance; import net.minecraft.client.font.FontRenderer; import net.minecraft.client.gui.Drawable; -import net.minecraft.client.render.GuiLighting; import net.minecraft.sound.SoundEvents; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; @@ -76,8 +75,8 @@ public abstract class ButtonWidget extends Drawable implements IWidget { this.hovered = bounds.contains(mouseX, mouseY); int textureOffset = this.getTextureId(this.hovered); GlStateManager.enableBlend(); - GlStateManager.blendFuncSeparate(GlStateManager.class_1033.SRC_ALPHA, GlStateManager.class_1027.ONE_MINUS_SRC_ALPHA, GlStateManager.class_1033.ONE, GlStateManager.class_1027.ZERO); - GlStateManager.blendFunc(GlStateManager.class_1033.SRC_ALPHA, GlStateManager.class_1027.ONE_MINUS_SRC_ALPHA); + GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); + GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); //Four Corners this.drawTexturedRect(this.x, this.y, 0, 46 + textureOffset * 20, 4, 4); this.drawTexturedRect(this.x + this.width - 4, this.y, 196, 46 + textureOffset * 20, 4, 4); diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java index ed09025c9..25f46c802 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java @@ -9,7 +9,6 @@ import net.minecraft.client.gui.GuiEventListener; import net.minecraft.client.render.GuiLighting; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.Window; -import org.apache.logging.log4j.core.Core; import java.io.IOException; import java.util.Arrays; @@ -51,7 +50,7 @@ public class ConfigWidget extends Gui { e.printStackTrace(); } } - + @Override public void draw(int mouseX, int mouseY, float partialTicks) { text = getTrueFalseText(RoughlyEnoughItemsCore.getConfigHelper().sideSearchField()); @@ -97,12 +96,11 @@ public class ConfigWidget extends Gui { e.printStackTrace(); } } - + |
