aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorDanielshe <shekwancheung0528@gmail.com>2019-11-06 21:40:11 +0800
committerDanielshe <shekwancheung0528@gmail.com>2019-11-06 21:40:15 +0800
commit0cc101e5cb57e62674abe421983444f79ea630fc (patch)
treeb3d1c4c1853a3e9d60ae2857e7aa1b5430f2f559 /src/main/java/me/shedaniel/rei/plugin
parentd26cb24ffffc1e6063a2dd1053ccbc886c60767f (diff)
downloadRoughlyEnoughItems-0cc101e5cb57e62674abe421983444f79ea630fc.tar.gz
RoughlyEnoughItems-0cc101e5cb57e62674abe421983444f79ea630fc.tar.bz2
RoughlyEnoughItems-0cc101e5cb57e62674abe421983444f79ea630fc.zip
3.2.6
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java46
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java7
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java9
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java9
5 files changed, 37 insertions, 36 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index ca3d49953..77a139f98 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -10,10 +10,7 @@ import com.google.common.collect.Maps;
import it.unimi.dsi.fastutil.objects.Object2FloatMap;
import me.shedaniel.math.api.Rectangle;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import me.shedaniel.rei.api.DisplayHelper;
-import me.shedaniel.rei.api.EntryRegistry;
-import me.shedaniel.rei.api.EntryStack;
-import me.shedaniel.rei.api.RecipeHelper;
+import me.shedaniel.rei.api.*;
import me.shedaniel.rei.api.plugins.REIPluginV0;
import me.shedaniel.rei.gui.RecipeViewingScreen;
import me.shedaniel.rei.gui.VillagerRecipeViewingScreen;
@@ -47,10 +44,7 @@ import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.fluid.EmptyFluid;
import net.minecraft.fluid.Fluid;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemConvertible;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.Items;
+import net.minecraft.item.*;
import net.minecraft.potion.PotionUtil;
import net.minecraft.recipe.*;
import net.minecraft.util.Identifier;
@@ -95,7 +89,7 @@ public class DefaultPlugin implements REIPluginV0 {
@Override
public void registerEntries(EntryRegistry entryRegistry) {
- if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isLoadingDefaultPlugin()) {
+ if (!ConfigManager.getInstance().getConfig().isLoadingDefaultPlugin()) {
return;
}
for (Item item : Registry.ITEM) {
@@ -124,7 +118,7 @@ public class DefaultPlugin implements REIPluginV0 {
@Override
public void registerPluginCategories(RecipeHelper recipeHelper) {
- if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isLoadingDefaultPlugin()) {
+ if (!ConfigManager.getInstance().getConfig().isLoadingDefaultPlugin()) {
return;
}
recipeHelper.registerCategory(new DefaultCraftingCategory());
@@ -140,7 +134,7 @@ public class DefaultPlugin implements REIPluginV0 {
@Override
public void registerRecipeDisplays(RecipeHelper recipeHelper) {
- if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isLoadingDefaultPlugin()) {
+ if (!ConfigManager.getInstance().getConfig().isLoadingDefaultPlugin()) {
return;
}
recipeHelper.registerRecipes(CRAFTING, ShapelessRecipe.class, DefaultShapelessDisplay::new);
@@ -154,7 +148,7 @@ public class DefaultPlugin implements REIPluginV0 {
recipeHelper.registerDisplay(BREWING, display);
}
List<EntryStack> arrowStack = Collections.singletonList(EntryStack.create(Items.ARROW));
- for (EntryStack entry : RoughlyEnoughItemsCore.getEntryRegistry().getStacksList()) {
+ for (EntryStack entry : EntryRegistry.getInstance().getStacksList()) {
if (entry.getItem() == Items.LINGERING_POTION) {
List<List<EntryStack>> input = new ArrayList<>();
for (int i = 0; i < 4; i++)
@@ -193,8 +187,32 @@ public class DefaultPlugin implements REIPluginV0 {
}
@Override
+ public void postRegister() {
+ // Sit tight! This will be a fast journey!
+ long time = System.currentTimeMillis();
+ for (EntryStack stack : EntryRegistry.getInstance().getStacksList())
+ applyPotionTransformer(stack);
+ for (List<RecipeDisplay> displays : RecipeHelper.getInstance().getAllRecipes().values()) {
+ for (RecipeDisplay display : displays) {
+ for (List<EntryStack> entries : display.getInputEntries())
+ for (EntryStack stack : entries)
+ applyPotionTransformer(stack);
+ for (EntryStack stack : display.getOutputEntries())
+ applyPotionTransformer(stack);
+ }
+ }
+ time = System.currentTimeMillis() - time;
+ RoughlyEnoughItemsCore.LOGGER.info("[REI] Applied Check Tags for potion in %dms.", time);
+ }
+
+ private void applyPotionTransformer(EntryStack stack) {
+ if (stack.getItem() instanceof PotionItem)
+ stack.addSetting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE);
+ }
+
+ @Override
public void registerBounds(DisplayHelper displayHelper) {
- if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isLoadingDefaultPlugin()) {
+ if (!ConfigManager.getInstance().getConfig().isLoadingDefaultPlugin()) {
return;
}
displayHelper.getBaseBoundsHandler().registerExclusionZones(AbstractInventoryScreen.class, new DefaultPotionEffectExclusionZones());
@@ -269,7 +287,7 @@ public class DefaultPlugin implements REIPluginV0 {
@Override
public void registerOthers(RecipeHelper recipeHelper) {
- if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isLoadingDefaultPlugin()) {
+ if (!ConfigManager.getInstance().getConfig().isLoadingDefaultPlugin()) {
return;
}
recipeHelper.registerWorkingStations(CRAFTING, EntryStack.create(Items.CRAFTING_TABLE));
diff --git a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java
index 5516c0560..21ca07b14 100644
--- a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java
@@ -11,7 +11,6 @@ import me.shedaniel.rei.api.RecipeDisplay;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.PotionItem;
import net.minecraft.recipe.Ingredient;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
@@ -27,19 +26,13 @@ public class DefaultBrewingDisplay implements RecipeDisplay {
public DefaultBrewingDisplay(ItemStack input, Ingredient reactant, ItemStack output) {
this.input = EntryStack.create(input).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.input")));
- if (this.input.getItem() instanceof PotionItem)
- this.input = this.input.setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE);
this.reactant = new ArrayList<>();
for (ItemStack stack : reactant.getMatchingStacksClient()) {
EntryStack entryStack = EntryStack.create(stack);
- if (stack.getItem() instanceof PotionItem)
- entryStack.setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE);
entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.reactant")));
this.reactant.add(entryStack);
}
this.output = EntryStack.create(output).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.result")));
- if (this.output.getItem() instanceof PotionItem)
- this.output = this.output.setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java
index bb11a8447..8165f0a7a 100644
--- a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java
@@ -12,7 +12,7 @@ import me.shedaniel.math.api.Rectangle;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.TransferRecipeCategory;
import me.shedaniel.rei.gui.entries.RecipeEntry;
-import me.shedaniel.rei.gui.renderers.SimpleRecipeEntry;
+import me.shedaniel.rei.gui.entries.SimpleRecipeEntry;
import me.shedaniel.rei.gui.widget.EntryWidget;
import me.shedaniel.rei.gui.widget.RecipeArrowWidget;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java
index 7858e3f31..b470d5574 100644
--- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java
@@ -7,7 +7,6 @@ package me.shedaniel.rei.plugin.crafting;
import me.shedaniel.rei.api.EntryStack;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.PotionItem;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.ShapedRecipe;
import net.minecraft.util.Identifier;
@@ -29,15 +28,11 @@ public class DefaultShapedDisplay implements DefaultCraftingDisplay {
this.input = recipe.getPreviewInputs().stream().map(i -> {
List<EntryStack> entries = new ArrayList<>();
for (ItemStack stack : i.getMatchingStacksClient()) {
- if (stack.getItem() instanceof PotionItem)
- entries.add(EntryStack.create(stack).setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE));
- else entries.add(EntryStack.create(stack));
+ entries.add(EntryStack.create(stack));
}
return entries;
}).collect(Collectors.toList());
- if (recipe.getOutput().getItem() instanceof PotionItem)
- this.output = Collections.singletonList(EntryStack.create(recipe.getOutput()).setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE));
- else this.output = Collections.singletonList(EntryStack.create(recipe.getOutput()));
+ this.output = Collections.singletonList(EntryStack.create(recipe.getOutput()));
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java
index 65fbd5fd7..c62708323 100644
--- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java
@@ -7,7 +7,6 @@ package me.shedaniel.rei.plugin.crafting;
import me.shedaniel.rei.api.EntryStack;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.PotionItem;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.ShapelessRecipe;
import net.minecraft.util.Identifier;
@@ -29,15 +28,11 @@ public class DefaultShapelessDisplay implements DefaultCraftingDisplay {
this.input = recipe.getPreviewInputs().stream().map(i -> {
List<EntryStack> entries = new ArrayList<>();
for (ItemStack stack : i.getMatchingStacksClient()) {
- if (stack.getItem() instanceof PotionItem)
- entries.add(EntryStack.create(stack).setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE));
- else entries.add(EntryStack.create(stack));
+ entries.add(EntryStack.create(stack));
}
return entries;
}).collect(Collectors.toList());
- if (recipe.getOutput().getItem() instanceof PotionItem)
- this.output = Collections.singletonList(EntryStack.create(recipe.getOutput()).setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE));
- else this.output = Collections.singletonList(EntryStack.create(recipe.getOutput()));
+ this.output = Collections.singletonList(EntryStack.create(recipe.getOutput()));
}
@Override