diff --git a/src/main/java/com/github/alexthe666/rats/data/tags/RatsItemTags.java b/src/main/java/com/github/alexthe666/rats/data/tags/RatsItemTags.java index 72c2f570..15d4c636 100644 --- a/src/main/java/com/github/alexthe666/rats/data/tags/RatsItemTags.java +++ b/src/main/java/com/github/alexthe666/rats/data/tags/RatsItemTags.java @@ -25,6 +25,8 @@ public class RatsItemTags extends ItemTagsProvider { public static final TagKey CHEESE_ITEMS = ItemTags.create(new ResourceLocation("forge", "cheese")); + public static final TagKey MILK_BUCKETS = ItemTags.create(new ResourceLocation("forge", "milk")); + public static final TagKey CRAFTING_TABLES = ItemTags.create(new ResourceLocation("forge", "crafting_tables")); public static final TagKey VEGETABLES = ItemTags.create(new ResourceLocation("forge", "vegetables")); public static final TagKey PLASTICS = ItemTags.create(new ResourceLocation("forge", "plastics")); diff --git a/src/main/java/com/github/alexthe666/rats/server/block/AutoCurdlerBlock.java b/src/main/java/com/github/alexthe666/rats/server/block/AutoCurdlerBlock.java index 776572ca..d758125a 100644 --- a/src/main/java/com/github/alexthe666/rats/server/block/AutoCurdlerBlock.java +++ b/src/main/java/com/github/alexthe666/rats/server/block/AutoCurdlerBlock.java @@ -1,5 +1,6 @@ package com.github.alexthe666.rats.server.block; +import com.github.alexthe666.rats.data.tags.RatsItemTags; import com.github.alexthe666.rats.registry.RatsBlockEntityRegistry; import com.github.alexthe666.rats.server.block.entity.AutoCurdlerBlockEntity; import com.github.alexthe666.rats.server.message.RatsNetworkHandler; @@ -84,7 +85,7 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player FluidStack fluidStack = FluidUtil.getFluidContained(stack).orElse(FluidStack.EMPTY); IFluidHandlerItem fluidHandler = FluidUtil.getFluidHandler(stack).resolve().get(); FluidStack drain = fluidHandler.drain(Integer.MAX_VALUE, IFluidHandler.FluidAction.SIMULATE); - if (drain.getAmount() > 0 || stack.is(Items.MILK_BUCKET)) { + if (drain.getAmount() > 0 || stack.is(RatsItemTags.MILK_BUCKETS)) { if (te.getTank().fill(fluidStack.copy(), IFluidHandler.FluidAction.SIMULATE) != 0) { int amount = te.getTank().fill(fluidStack.copy(), IFluidHandler.FluidAction.EXECUTE); level.playSound(null, pos, SoundEvents.BUCKET_EMPTY, SoundSource.BLOCKS, 1.0F, 1.0F); @@ -95,7 +96,7 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player if (stack != container) { stack.shrink(1); player.getInventory().add(container); - } else if (stack.is(Items.MILK_BUCKET)) { + } else if (stack.is(RatsItemTags.MILK_BUCKETS)) { stack.shrink(1); player.getInventory().add(new ItemStack(Items.BUCKET)); } diff --git a/src/main/java/com/github/alexthe666/rats/server/block/entity/AutoCurdlerBlockEntity.java b/src/main/java/com/github/alexthe666/rats/server/block/entity/AutoCurdlerBlockEntity.java index fd8b48e1..b274297a 100644 --- a/src/main/java/com/github/alexthe666/rats/server/block/entity/AutoCurdlerBlockEntity.java +++ b/src/main/java/com/github/alexthe666/rats/server/block/entity/AutoCurdlerBlockEntity.java @@ -1,6 +1,7 @@ package com.github.alexthe666.rats.server.block.entity; import com.github.alexthe666.rats.RatConfig; +import com.github.alexthe666.rats.data.tags.RatsItemTags; import com.github.alexthe666.rats.registry.RatsBlockEntityRegistry; import com.github.alexthe666.rats.registry.RatsBlockRegistry; import com.github.alexthe666.rats.registry.RatsParticleRegistry; @@ -25,11 +26,9 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.ContainerData; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BaseContainerBlockEntity; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.ForgeMod; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; @@ -50,7 +49,7 @@ public class AutoCurdlerBlockEntity extends BaseContainerBlockEntity implements WorldlyContainer, MenuProvider { private static final int[] SLOTS_TOP = new int[]{0}; private static final int[] SLOTS_BOTTOM = new int[]{1}; - private final FluidTank tank = new FluidTank(FluidType.BUCKET_VOLUME * 5, fluidStack -> fluidStack.getFluid().isSame(ForgeMod.MILK.get())); + private final FluidTank tank = new FluidTank(FluidType.BUCKET_VOLUME * 5, fluidStack -> isMilkFluid(fluidStack)); final LazyOptional[] handlers = SidedInvWrapper.create(this, Direction.UP, Direction.DOWN); private final LazyOptional holder = LazyOptional.of(() -> this.tank); private NonNullList curdlerStacks = NonNullList.withSize(2, ItemStack.EMPTY); @@ -85,11 +84,11 @@ public AutoCurdlerBlockEntity(BlockPos pos, BlockState state) { } public static boolean isMilk(ItemStack stack) { - if (stack.is(Items.MILK_BUCKET)) { + if (stack.is(RatsItemTags.MILK_BUCKETS)) { return true; } Optional fluidStack = FluidUtil.getFluidContained(stack); - return fluidStack.isPresent() && fluidStack.get().getFluid().isSame(ForgeMod.MILK.get()); + return fluidStack.isPresent() && isMilkFluid(fluidStack.get()); } @Override @@ -165,7 +164,7 @@ public boolean stillValid(Player player) { } public boolean hasEnoughMilk() { - return this.tank.getFluidAmount() >= FluidType.BUCKET_VOLUME && this.isMilkFluid(this.tank.getFluid()); + return this.tank.getFluidAmount() >= FluidType.BUCKET_VOLUME && isMilkFluid(this.tank.getFluid()); } public static void tick(Level level, BlockPos pos, BlockState state, AutoCurdlerBlockEntity te) { @@ -271,7 +270,7 @@ public boolean canPlaceItem(int index, ItemStack stack) { } } - private boolean isMilkFluid(FluidStack fluid) { + private static boolean isMilkFluid(FluidStack fluid) { return fluid.getTranslationKey().contains("milk") || fluid.getTranslationKey().contains("Milk"); } diff --git a/src/main/resources/data/forge/tags/milk.json b/src/main/resources/data/forge/tags/milk.json new file mode 100644 index 00000000..264c81ed --- /dev/null +++ b/src/main/resources/data/forge/tags/milk.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:milk_bucket" + ] +}