diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/AllowedTags.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/AllowedTagList.java similarity index 95% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/AllowedTags.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/AllowedTagList.java index db4bed9be..3ef59b9cf 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/AllowedTags.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/AllowedTagList.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.apiimpl.network.node; +package com.raoulvdberge.refinedstorage.apiimpl.autocrafting; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.ListNBT; @@ -12,7 +12,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -public class AllowedTags { +public class AllowedTagList { private static final String NBT_ALLOWED_ITEM_TAGS = "AllowedItemTags"; private static final String NBT_ALLOWED_FLUID_TAGS = "AllowedFluidTags"; @@ -22,7 +22,7 @@ public class AllowedTags { @Nullable private final Runnable listener; - public AllowedTags(@Nullable Runnable listener) { + public AllowedTagList(@Nullable Runnable listener) { for (int i = 0; i < 9; ++i) { allowedItemTags.add(new HashSet<>()); allowedFluidTags.add(new HashSet<>()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java index ffd6c04f7..6dd890334 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java @@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContaine import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry.CraftingTaskFactory; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.AllowedTags; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.CraftingInventory; import net.minecraft.inventory.container.Container; @@ -35,9 +34,9 @@ public class CraftingPattern implements ICraftingPattern { private final List> fluidInputs; private final NonNullList fluidOutputs; @Nullable - private final AllowedTags allowedTags; + private final AllowedTagList allowedTagList; - public CraftingPattern(ICraftingPatternContainer container, ItemStack stack, boolean processing, boolean exact, @Nullable ITextComponent errorMessage, boolean valid, @Nullable ICraftingRecipe recipe, List> inputs, NonNullList outputs, NonNullList byproducts, List> fluidInputs, NonNullList fluidOutputs, @Nullable AllowedTags allowedTags) { + public CraftingPattern(ICraftingPatternContainer container, ItemStack stack, boolean processing, boolean exact, @Nullable ITextComponent errorMessage, boolean valid, @Nullable ICraftingRecipe recipe, List> inputs, NonNullList outputs, NonNullList byproducts, List> fluidInputs, NonNullList fluidOutputs, @Nullable AllowedTagList allowedTagList) { this.container = container; this.stack = stack; this.processing = processing; @@ -50,12 +49,12 @@ public class CraftingPattern implements ICraftingPattern { this.byproducts = byproducts; this.fluidInputs = fluidInputs; this.fluidOutputs = fluidOutputs; - this.allowedTags = allowedTags; + this.allowedTagList = allowedTagList; } @Nullable - public AllowedTags getAllowedTags() { - return allowedTags; + public AllowedTagList getAllowedTagList() { + return allowedTagList; } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java index 3a032ef3b..0bbaf95a2 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.autocrafting; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContainer; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.AllowedTags; import com.raoulvdberge.refinedstorage.item.PatternItem; import net.minecraft.fluid.Fluid; import net.minecraft.inventory.CraftingInventory; @@ -27,7 +26,7 @@ public class CraftingPatternFactory { public CraftingPattern create(World world, ICraftingPatternContainer container, ItemStack stack) { boolean processing = PatternItem.isProcessing(stack); boolean exact = PatternItem.isExact(stack); - AllowedTags allowedTags = PatternItem.getAllowedTags(stack); + AllowedTagList allowedTagList = PatternItem.getAllowedTags(stack); List> inputs = new ArrayList<>(); NonNullList outputs = NonNullList.create(); @@ -41,8 +40,8 @@ public class CraftingPatternFactory { try { if (processing) { for (int i = 0; i < 9; ++i) { - fillProcessingInputs(i, stack, inputs, outputs, allowedTags); - fillProcessingFluidInputs(i, stack, fluidInputs, fluidOutputs, allowedTags); + fillProcessingInputs(i, stack, inputs, outputs, allowedTagList); + fillProcessingFluidInputs(i, stack, fluidInputs, fluidOutputs, allowedTagList); } if (outputs.isEmpty() && fluidOutputs.isEmpty()) { @@ -81,10 +80,10 @@ public class CraftingPatternFactory { errorMessage = e.getErrorMessage(); } - return new CraftingPattern(container, stack, processing, exact, errorMessage, valid, recipe, inputs, outputs, byproducts, fluidInputs, fluidOutputs, allowedTags); + return new CraftingPattern(container, stack, processing, exact, errorMessage, valid, recipe, inputs, outputs, byproducts, fluidInputs, fluidOutputs, allowedTagList); } - private void fillProcessingInputs(int i, ItemStack stack, List> inputs, NonNullList outputs, @Nullable AllowedTags allowedTags) throws CraftingPatternFactoryException { + private void fillProcessingInputs(int i, ItemStack stack, List> inputs, NonNullList outputs, @Nullable AllowedTagList allowedTagList) throws CraftingPatternFactoryException { ItemStack input = PatternItem.getInputSlot(stack, i); if (input.isEmpty()) { @@ -94,9 +93,9 @@ public class CraftingPatternFactory { possibilities.add(input.copy()); - if (allowedTags != null) { + if (allowedTagList != null) { Collection tagsOfItem = ItemTags.getCollection().getOwningTags(input.getItem()); - Set declaredAllowedTags = allowedTags.getAllowedItemTags().get(i); + Set declaredAllowedTags = allowedTagList.getAllowedItemTags().get(i); for (ResourceLocation declaredAllowedTag : declaredAllowedTags) { if (!tagsOfItem.contains(declaredAllowedTag)) { @@ -124,7 +123,7 @@ public class CraftingPatternFactory { } } - private void fillProcessingFluidInputs(int i, ItemStack stack, List> fluidInputs, NonNullList fluidOutputs, @Nullable AllowedTags allowedTags) throws CraftingPatternFactoryException { + private void fillProcessingFluidInputs(int i, ItemStack stack, List> fluidInputs, NonNullList fluidOutputs, @Nullable AllowedTagList allowedTagList) throws CraftingPatternFactoryException { FluidStack input = PatternItem.getFluidInputSlot(stack, i); if (input.isEmpty()) { fluidInputs.add(NonNullList.create()); @@ -133,9 +132,9 @@ public class CraftingPatternFactory { possibilities.add(input.copy()); - if (allowedTags != null) { + if (allowedTagList != null) { Collection tagsOfFluid = FluidTags.getCollection().getOwningTags(input.getFluid()); - Set declaredAllowedTags = allowedTags.getAllowedFluidTags().get(i); + Set declaredAllowedTags = allowedTagList.getAllowedFluidTags().get(i); for (ResourceLocation declaredAllowedTag : declaredAllowedTags) { if (!tagsOfFluid.contains(declaredAllowedTag)) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/GridNetworkNode.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/GridNetworkNode.java index 389d905e7..a7339bd35 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/GridNetworkNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/GridNetworkNode.java @@ -11,6 +11,7 @@ import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCacheListener; import com.raoulvdberge.refinedstorage.api.util.Action; import com.raoulvdberge.refinedstorage.api.util.IFilter; import com.raoulvdberge.refinedstorage.apiimpl.API; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.AllowedTagList; import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.FluidGridStorageCacheListener; import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.ItemGridStorageCacheListener; import com.raoulvdberge.refinedstorage.block.NetworkNodeBlock; @@ -76,7 +77,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I private static final String NBT_PROCESSING_MATRIX_FLUIDS = "ProcessingMatrixFluids"; private static final String NBT_ALLOWED_TAGS = "AllowedTags"; - private final AllowedTags allowedTags = new AllowedTags(this::updateAllowedTags); + private final AllowedTagList allowedTagList = new AllowedTagList(this::updateAllowedTags); private Container craftingContainer = new Container(ContainerType.CRAFTING, 0) { @Override @@ -98,14 +99,14 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I .addListener(new NetworkNodeInventoryListener(this)) .addListener((handler, slot, reading) -> { if (!reading && slot < 9) { - allowedTags.clearItemTags(slot); + allowedTagList.clearItemTags(slot); } }); private FluidInventory processingMatrixFluids = new FluidInventory(9 * 2, FluidAttributes.BUCKET_VOLUME * 64) .addListener(new NetworkNodeFluidInventoryListener(this)) .addListener((handler, slot, reading) -> { if (!reading && slot < 9) { - allowedTags.clearFluidTags(slot); + allowedTagList.clearFluidTags(slot); } }); @@ -153,11 +154,11 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I processingMatrixFluids.setFluid(9 + i, PatternItem.getFluidOutputSlot(pattern, i)); } - AllowedTags allowedTagsFromPattern = PatternItem.getAllowedTags(pattern); + AllowedTagList allowedTagsFromPattern = PatternItem.getAllowedTags(pattern); if (allowedTagsFromPattern != null) { - allowedTags.setAllowedItemTags(allowedTagsFromPattern.getAllowedItemTags()); - allowedTags.setAllowedFluidTags(allowedTagsFromPattern.getAllowedFluidTags()); + allowedTagList.setAllowedItemTags(allowedTagsFromPattern.getAllowedItemTags()); + allowedTagList.setAllowedFluidTags(allowedTagsFromPattern.getAllowedFluidTags()); } } else { for (int i = 0; i < 9; ++i) { @@ -195,8 +196,8 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I this.type = type; } - public AllowedTags getAllowedTags() { - return allowedTags; + public AllowedTagList getAllowedTagList() { + return allowedTagList; } private void updateAllowedTags() { @@ -448,7 +449,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I if (!processingPattern) { PatternItem.setExact(pattern, exactPattern); } else { - PatternItem.setAllowedTags(pattern, allowedTags); + PatternItem.setAllowedTags(pattern, allowedTagList); } if (processingPattern) { @@ -627,7 +628,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I super.read(tag); if (tag.contains(NBT_ALLOWED_TAGS)) { - allowedTags.readFromNbt(tag.getCompound(NBT_ALLOWED_TAGS)); + allowedTagList.readFromNbt(tag.getCompound(NBT_ALLOWED_TAGS)); } reading = true; @@ -661,7 +662,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I public CompoundNBT write(CompoundNBT tag) { super.write(tag); - tag.put(NBT_ALLOWED_TAGS, allowedTags.writeToNbt()); + tag.put(NBT_ALLOWED_TAGS, allowedTagList.writeToNbt()); StackUtils.writeItems(matrix, 0, tag); StackUtils.writeItems(patterns, 1, tag); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java b/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java index 3979acae3..0801a1fd9 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java @@ -5,9 +5,9 @@ import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContainer; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.AllowedTagList; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPatternFactory; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.AllowedTags; import com.raoulvdberge.refinedstorage.render.tesr.PatternItemStackTileRenderer; import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.screen.inventory.ContainerScreen; @@ -91,9 +91,9 @@ public class PatternItem extends Item implements ICraftingPatternProvider { RenderUtils.addCombinedItemsToTooltip(tooltip, true, pattern.getOutputs()); RenderUtils.addCombinedFluidsToTooltip(tooltip, true, pattern.getFluidOutputs()); - if (pattern.getAllowedTags() != null) { - for (int i = 0; i < pattern.getAllowedTags().getAllowedItemTags().size(); ++i) { - Set allowedTags = pattern.getAllowedTags().getAllowedItemTags().get(i); + if (pattern.getAllowedTagList() != null) { + for (int i = 0; i < pattern.getAllowedTagList().getAllowedItemTags().size(); ++i) { + Set allowedTags = pattern.getAllowedTagList().getAllowedItemTags().get(i); for (ResourceLocation tag : allowedTags) { tooltip.add(new TranslationTextComponent( @@ -104,8 +104,8 @@ public class PatternItem extends Item implements ICraftingPatternProvider { } } - for (int i = 0; i < pattern.getAllowedTags().getAllowedFluidTags().size(); ++i) { - Set allowedTags = pattern.getAllowedTags().getAllowedFluidTags().get(i); + for (int i = 0; i < pattern.getAllowedTagList().getAllowedFluidTags().size(); ++i) { + Set allowedTags = pattern.getAllowedTagList().getAllowedFluidTags().get(i); for (ResourceLocation tag : allowedTags) { tooltip.add(new TranslationTextComponent( @@ -255,24 +255,24 @@ public class PatternItem extends Item implements ICraftingPatternProvider { pattern.getTag().putInt(NBT_VERSION, VERSION); } - public static void setAllowedTags(ItemStack pattern, AllowedTags allowedTags) { + public static void setAllowedTags(ItemStack pattern, AllowedTagList allowedTagList) { if (!pattern.hasTag()) { pattern.setTag(new CompoundNBT()); } - pattern.getTag().put(NBT_ALLOWED_TAGS, allowedTags.writeToNbt()); + pattern.getTag().put(NBT_ALLOWED_TAGS, allowedTagList.writeToNbt()); } @Nullable - public static AllowedTags getAllowedTags(ItemStack pattern) { + public static AllowedTagList getAllowedTags(ItemStack pattern) { if (!pattern.hasTag() || !pattern.getTag().contains(NBT_ALLOWED_TAGS)) { return null; } - AllowedTags allowedTags = new AllowedTags(null); + AllowedTagList allowedTagList = new AllowedTagList(null); - allowedTags.readFromNbt(pattern.getTag().getCompound(NBT_ALLOWED_TAGS)); + allowedTagList.readFromNbt(pattern.getTag().getCompound(NBT_ALLOWED_TAGS)); - return allowedTags; + return allowedTagList; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/GridTile.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/GridTile.java index e0ab174da..611c75371 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/GridTile.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/GridTile.java @@ -77,14 +77,8 @@ public class GridTile extends NetworkNodeTile { t.getNode().markDirty(); }, (initial, p) -> BaseScreen.executeLater(GridScreen.class, BaseScreen::init)); public static final TileDataParameter PROCESSING_TYPE = IType.createParameter((initial, p) -> BaseScreen.executeLater(GridScreen.class, BaseScreen::init)); - - public static final TileDataParameter>, GridTile> ALLOWED_ITEM_TAGS = new TileDataParameter<>(RSSerializers.LIST_OF_SET_SERIALIZER, new ArrayList<>(), t -> t.getNode().getAllowedTags().getAllowedItemTags(), (t, v) -> { - t.getNode().getAllowedTags().setAllowedItemTags(v); - }); - - public static final TileDataParameter>, GridTile> ALLOWED_FLUID_TAGS = new TileDataParameter<>(RSSerializers.LIST_OF_SET_SERIALIZER, new ArrayList<>(), t -> t.getNode().getAllowedTags().getAllowedFluidTags(), (t, v) -> { - t.getNode().getAllowedTags().setAllowedFluidTags(v); - }); + public static final TileDataParameter>, GridTile> ALLOWED_ITEM_TAGS = new TileDataParameter<>(RSSerializers.LIST_OF_SET_SERIALIZER, new ArrayList<>(), t -> t.getNode().getAllowedTagList().getAllowedItemTags(), (t, v) -> t.getNode().getAllowedTagList().setAllowedItemTags(v)); + public static final TileDataParameter>, GridTile> ALLOWED_FLUID_TAGS = new TileDataParameter<>(RSSerializers.LIST_OF_SET_SERIALIZER, new ArrayList<>(), t -> t.getNode().getAllowedTagList().getAllowedFluidTags(), (t, v) -> t.getNode().getAllowedTagList().setAllowedFluidTags(v)); public static void trySortGrid(boolean initial) { if (!initial) {