From 559460e5140851e2d50e05d244f49acc7e661062 Mon Sep 17 00:00:00 2001 From: TropheusJ Date: Wed, 28 Jun 2023 04:28:19 -0400 Subject: [PATCH] assorted trivial stuff --- .../AbstractContraptionEntity.java | 4 +-- .../contraptions/MountedFluidStorage.java | 1 - .../sandPaper/SandPaperPolishingRecipe.java | 2 +- .../symmetryWand/SymmetryWandItem.java | 6 +--- .../kinetics/crafter/RecipeGridHandler.java | 6 ++-- .../content/kinetics/fan/FanProcessing.java | 10 ++++--- .../AllArmInteractionPointTypes.java | 8 ++--- .../mechanicalArm/ArmBlockEntity.java | 8 ++--- .../mixer/MechanicalMixerBlockEntity.java | 9 +++--- .../logistics/depot/EjectorBlockEntity.java | 2 +- .../processing/basin/BasinBlockEntity.java | 6 ++-- .../processing/recipe/ProcessingRecipe.java | 9 +++--- .../sequenced/SequencedAssemblyRecipe.java | 5 ++-- .../content/redstone/link/LinkBehaviour.java | 2 +- .../cannon/SchematicannonInventory.java | 8 ++--- .../requirement/ItemRequirement.java | 2 +- .../content/trains/signal/SignalBlock.java | 5 ++-- .../advancement/CriterionTriggerBase.java | 5 ++-- .../advancement/SimpleCreateTrigger.java | 3 +- .../foundation/gui/ModularGuiLineBuilder.java | 8 ++--- .../gui/widget/AbstractSimiWidget.java | 29 +++++++++---------- .../create/foundation/gui/widget/Label.java | 14 ++++----- .../create/foundation/item/ItemHelper.java | 2 +- .../foundation/utility/BlockHelper.java | 7 ++--- .../utility/worldWrappers/WrappedWorld.java | 2 +- .../ponder/scenes/fluid/HosePulleyScenes.java | 7 ++--- 26 files changed, 82 insertions(+), 88 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/contraptions/AbstractContraptionEntity.java b/src/main/java/com/simibubi/create/content/contraptions/AbstractContraptionEntity.java index be0ea6006..23f527a8c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/AbstractContraptionEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/AbstractContraptionEntity.java @@ -709,9 +709,9 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit } @Override - protected void outOfWorld() { + protected void onBelowWorld() { ejectPassengers(); - super.outOfWorld(); + super.onBelowWorld(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/MountedFluidStorage.java b/src/main/java/com/simibubi/create/content/contraptions/MountedFluidStorage.java index 21f215b40..b395535e1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/MountedFluidStorage.java +++ b/src/main/java/com/simibubi/create/content/contraptions/MountedFluidStorage.java @@ -18,7 +18,6 @@ import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.network.PacketDistributor; diff --git a/src/main/java/com/simibubi/create/content/equipment/sandPaper/SandPaperPolishingRecipe.java b/src/main/java/com/simibubi/create/content/equipment/sandPaper/SandPaperPolishingRecipe.java index adb80b44f..ea0659deb 100644 --- a/src/main/java/com/simibubi/create/content/equipment/sandPaper/SandPaperPolishingRecipe.java +++ b/src/main/java/com/simibubi/create/content/equipment/sandPaper/SandPaperPolishingRecipe.java @@ -47,7 +47,7 @@ public class SandPaperPolishingRecipe extends ProcessingRecipe { List> matchingRecipes = getMatchingRecipes(world, stack); if (!matchingRecipes.isEmpty()) return matchingRecipes.get(0) - .assemble(new SandPaperInv(stack)) + .assemble(new SandPaperInv(stack), world.registryAccess()) .copy(); return stack; } diff --git a/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItem.java b/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItem.java index 108be1fa6..c74f0aee9 100644 --- a/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItem.java +++ b/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItem.java @@ -38,7 +38,6 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraftforge.api.distmarker.Dist; @@ -271,10 +270,7 @@ public class SymmetryWandItem extends Item { private static boolean isHoldingBlock(Player player, BlockState block) { ItemStack itemBlock = BlockHelper.getRequiredItem(block); - return player.getMainHandItem() - .sameItem(itemBlock) - || player.getOffhandItem() - .sameItem(itemBlock); + return player.isHolding(itemBlock.getItem()); } public static void remove(Level world, ItemStack wand, Player player, BlockPos pos) { diff --git a/src/main/java/com/simibubi/create/content/kinetics/crafter/RecipeGridHandler.java b/src/main/java/com/simibubi/create/content/kinetics/crafter/RecipeGridHandler.java index 45c387b5a..d54c38418 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/crafter/RecipeGridHandler.java +++ b/src/main/java/com/simibubi/create/content/kinetics/crafter/RecipeGridHandler.java @@ -21,6 +21,7 @@ import com.simibubi.create.infrastructure.config.AllConfigs; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; @@ -144,15 +145,16 @@ public class RecipeGridHandler { items.calcStats(); CraftingContainer craftinginventory = new MechanicalCraftingInventory(items); ItemStack result = null; + RegistryAccess registryAccess = world.registryAccess(); if (AllConfigs.server().recipes.allowRegularCraftingInCrafter.get()) result = world.getRecipeManager() .getRecipeFor(RecipeType.CRAFTING, craftinginventory, world) .filter(r -> isRecipeAllowed(r, craftinginventory)) - .map(r -> r.assemble(craftinginventory)) + .map(r -> r.assemble(craftinginventory, registryAccess)) .orElse(null); if (result == null) result = AllRecipeTypes.MECHANICAL_CRAFTING.find(craftinginventory, world) - .map(r -> r.assemble(craftinginventory)) + .map(r -> r.assemble(craftinginventory, registryAccess)) .orElse(null); return result; } diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/FanProcessing.java b/src/main/java/com/simibubi/create/content/kinetics/fan/FanProcessing.java index 8b91661ec..bbd8e307d 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/FanProcessing.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/FanProcessing.java @@ -21,6 +21,7 @@ import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.infrastructure.config.AllConfigs; import net.minecraft.core.BlockPos; +import net.minecraft.core.RegistryAccess; import net.minecraft.core.particles.DustParticleOptions; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; @@ -177,10 +178,11 @@ public class FanProcessing { } if (smeltingRecipe.isPresent()) { - if (!smokingRecipe.isPresent() || !ItemStack.isSame(smokingRecipe.get() - .getResultItem(), + RegistryAccess registryAccess = world.registryAccess(); + if (smokingRecipe.isEmpty() || !ItemStack.isSameItem(smokingRecipe.get() + .getResultItem(registryAccess), smeltingRecipe.get() - .getResultItem())) { + .getResultItem(registryAccess))) { return RecipeApplier.applyRecipeOn(stack, smeltingRecipe.get()); } } @@ -239,7 +241,7 @@ public class FanProcessing { if (entity instanceof EnderMan || entity.getType() == EntityType.SNOW_GOLEM || entity.getType() == EntityType.BLAZE) { - entity.hurt(DamageSource.DROWN, 2); + entity.hurt(entity.damageSources().drown(), 2); } if (entity.isOnFire()) { entity.clearFire(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java index 3578a2c3e..8d45dac6b 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java @@ -653,13 +653,13 @@ public class AllArmInteractionPointTypes { BlockEntity blockEntity = level.getBlockEntity(pos); if (!(blockEntity instanceof JukeboxBlockEntity jukeboxBE)) return stack; - if (!jukeboxBE.getRecord() + if (!jukeboxBE.getFirstItem() .isEmpty()) return stack; ItemStack remainder = stack.copy(); ItemStack toInsert = remainder.split(1); if (!simulate) { - jukeboxBE.setRecord(toInsert); + jukeboxBE.setFirstItem(toInsert); level.setBlock(pos, cachedState.setValue(JukeboxBlock.HAS_RECORD, true), 2); level.levelEvent(null, 1010, pos, Item.getId(item)); } @@ -674,7 +674,7 @@ public class AllArmInteractionPointTypes { BlockEntity blockEntity = level.getBlockEntity(pos); if (!(blockEntity instanceof JukeboxBlockEntity jukeboxBE)) return ItemStack.EMPTY; - ItemStack record = jukeboxBE.getRecord(); + ItemStack record = jukeboxBE.getFirstItem(); if (record.isEmpty()) return ItemStack.EMPTY; if (!simulate) { @@ -705,7 +705,7 @@ public class AllArmInteractionPointTypes { .orElse(4) == 4) return stack; if (!simulate) - RespawnAnchorBlock.charge(level, pos, cachedState); + RespawnAnchorBlock.charge(null, level, pos, cachedState); ItemStack remainder = stack.copy(); remainder.shrink(1); return remainder; diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java index c7f68656b..c60d21a02 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java @@ -224,7 +224,7 @@ public class ArmBlockEntity extends KineticBlockEntity implements ITransformable return hasLevel() && state.getOptionalValue(ArmBlock.CEILING) .orElse(false); } - + @Override public void destroy() { super.destroy(); @@ -337,7 +337,7 @@ public class ArmBlockEntity extends KineticBlockEntity implements ITransformable protected int getDistributableAmount(ArmInteractionPoint armInteractionPoint, int i) { ItemStack stack = armInteractionPoint.extract(i, true); ItemStack remainder = simulateInsertion(stack); - if (stack.sameItem(remainder)) { + if (ItemStack.isSameItem(stack, remainder)) { return stack.getCount() - remainder.getCount(); } else { return stack.getCount(); @@ -391,7 +391,7 @@ public class ArmBlockEntity extends KineticBlockEntity implements ITransformable sendData(); setChanged(); - if (!prevHeld.sameItem(heldItem)) + if (!ItemStack.isSameItem(heldItem, prevHeld)) level.playSound(null, worldPosition, SoundEvents.ITEM_PICKUP, SoundSource.BLOCKS, .125f, .5f + Create.RANDOM.nextFloat() * .25f); return; @@ -544,7 +544,7 @@ public class ArmBlockEntity extends KineticBlockEntity implements ITransformable chasedPointProgress = compound.getFloat("MovementProgress"); interactionPointTag = compound.getList("InteractionPoints", Tag.TAG_COMPOUND); redstoneLocked = compound.getBoolean("Powered"); - + boolean hadGoggles = goggles; goggles = compound.getBoolean("Goggles"); diff --git a/src/main/java/com/simibubi/create/content/kinetics/mixer/MechanicalMixerBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/mixer/MechanicalMixerBlockEntity.java index 5f9f7c03b..4ca099524 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mixer/MechanicalMixerBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mixer/MechanicalMixerBlockEntity.java @@ -43,7 +43,6 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.crafting.IShapedRecipe; -import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; public class MechanicalMixerBlockEntity extends BasinOperatingBlockEntity { @@ -98,7 +97,7 @@ public class MechanicalMixerBlockEntity extends BasinOperatingBlockEntity { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.MIXER); } - + @Override protected AABB createRenderBoundingBox() { return new AABB(worldPosition).expandTowards(0, -1.5, 0); @@ -221,15 +220,15 @@ public class MechanicalMixerBlockEntity extends BasinOperatingBlockEntity { if (!AllConfigs.server().recipes.allowBrewingInMixer.get()) return matchingRecipes; - + Optional basin = getBasin(); if (!basin.isPresent()) return matchingRecipes; - + BasinBlockEntity basinBlockEntity = basin.get(); if (basin.isEmpty()) return matchingRecipes; - + IItemHandler availableItems = basinBlockEntity .getCapability(ForgeCapabilities.ITEM_HANDLER) .orElse(null); diff --git a/src/main/java/com/simibubi/create/content/logistics/depot/EjectorBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/depot/EjectorBlockEntity.java index 83f6d089f..ad9a86236 100644 --- a/src/main/java/com/simibubi/create/content/logistics/depot/EjectorBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/depot/EjectorBlockEntity.java @@ -222,7 +222,7 @@ public class EjectorBlockEntity extends KineticBlockEntity { ; else if (remainder.isEmpty()) iterator.remove(); - else if (!remainder.sameItem(stack)) + else if (!ItemStack.isSameItem(remainder, stack)) transportedItemStack.stack = remainder; } diff --git a/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java b/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java index 68ba9af62..ebc58f79f 100644 --- a/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/processing/basin/BasinBlockEntity.java @@ -546,8 +546,7 @@ public class BasinBlockEntity extends SmartBlockEntity implements IHaveGoggleInf if (simulate) return true; for (ItemStack itemStack : outputItems) { - if (itemStack.hasCraftingRemainingItem() && itemStack.getCraftingRemainingItem() - .sameItem(itemStack)) + if (itemStack.hasCraftingRemainingItem() && ItemStack.isSameItem(itemStack, itemStack.getCraftingRemainingItem())) continue; spoutputBuffer.add(itemStack.copy()); } @@ -591,8 +590,7 @@ public class BasinBlockEntity extends SmartBlockEntity implements IHaveGoggleInf private boolean acceptItemOutputsIntoBasin(List outputItems, boolean simulate, IItemHandler targetInv) { for (ItemStack itemStack : outputItems) { // Catalyst items are never consumed - if (itemStack.hasCraftingRemainingItem() && itemStack.getCraftingRemainingItem() - .sameItem(itemStack)) + if (itemStack.hasCraftingRemainingItem() && ItemStack.isSameItem(itemStack, itemStack.getCraftingRemainingItem())) continue; if (!ItemHandlerHelper.insertItemStacked(targetInv, itemStack.copy(), simulate) .isEmpty()) diff --git a/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipe.java b/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipe.java index e21ff458e..e6e399261 100644 --- a/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipe.java +++ b/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipe.java @@ -17,6 +17,7 @@ import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.NonNullList; +import net.minecraft.core.RegistryAccess; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; @@ -147,7 +148,7 @@ public abstract class ProcessingRecipe implements Recipe public List rollResults() { return rollResults(this.getRollableResults()); } - + public List rollResults(List rollableResults) { List results = new ArrayList<>(); for (int i = 0; i < rollableResults.size(); i++) { @@ -170,8 +171,8 @@ public abstract class ProcessingRecipe implements Recipe // IRecipe<> paperwork @Override - public ItemStack assemble(T inv) { - return getResultItem(); + public ItemStack assemble(T inv, RegistryAccess registryAccess) { + return getResultItem(registryAccess); } @Override @@ -180,7 +181,7 @@ public abstract class ProcessingRecipe implements Recipe } @Override - public ItemStack getResultItem() { + public ItemStack getResultItem(RegistryAccess registryAccess) { return getRollableResults().isEmpty() ? ItemStack.EMPTY : getRollableResults().get(0) .getStack(); diff --git a/src/main/java/com/simibubi/create/content/processing/sequenced/SequencedAssemblyRecipe.java b/src/main/java/com/simibubi/create/content/processing/sequenced/SequencedAssemblyRecipe.java index 9eaee45b9..5e7ddc470 100644 --- a/src/main/java/com/simibubi/create/content/processing/sequenced/SequencedAssemblyRecipe.java +++ b/src/main/java/com/simibubi/create/content/processing/sequenced/SequencedAssemblyRecipe.java @@ -18,6 +18,7 @@ import com.simibubi.create.foundation.utility.Pair; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; +import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -178,7 +179,7 @@ public class SequencedAssemblyRecipe implements Recipe { } @Override - public ItemStack assemble(RecipeWrapper p_77572_1_) { + public ItemStack assemble(RecipeWrapper inv, RegistryAccess registryAccess) { return ItemStack.EMPTY; } @@ -188,7 +189,7 @@ public class SequencedAssemblyRecipe implements Recipe { } @Override - public ItemStack getResultItem() { + public ItemStack getResultItem(RegistryAccess registryAccess) { return resultPool.get(0) .getStack(); } diff --git a/src/main/java/com/simibubi/create/content/redstone/link/LinkBehaviour.java b/src/main/java/com/simibubi/create/content/redstone/link/LinkBehaviour.java index 982d4d544..d09c93142 100644 --- a/src/main/java/com/simibubi/create/content/redstone/link/LinkBehaviour.java +++ b/src/main/java/com/simibubi/create/content/redstone/link/LinkBehaviour.java @@ -156,7 +156,7 @@ public class LinkBehaviour extends BlockEntityBehaviour implements IRedstoneLink stack = stack.copy(); stack.setCount(1); ItemStack toCompare = first ? frequencyFirst.getStack() : frequencyLast.getStack(); - boolean changed = !ItemStack.isSame(stack, toCompare) || !ItemStack.tagMatches(stack, toCompare); + boolean changed = !ItemStack.isSameItemSameTags(stack, toCompare); if (changed) getHandler().removeFromNetwork(getWorld(), this); diff --git a/src/main/java/com/simibubi/create/content/schematics/cannon/SchematicannonInventory.java b/src/main/java/com/simibubi/create/content/schematics/cannon/SchematicannonInventory.java index 9292e6fb4..4f6f5f578 100644 --- a/src/main/java/com/simibubi/create/content/schematics/cannon/SchematicannonInventory.java +++ b/src/main/java/com/simibubi/create/content/schematics/cannon/SchematicannonInventory.java @@ -29,14 +29,14 @@ public class SchematicannonInventory extends ItemStackHandler { case 1: // Blueprint output return false; case 2: // Book input - return AllBlocks.CLIPBOARD.isIn(stack) || stack.sameItem(new ItemStack(Items.BOOK)) - || stack.sameItem(new ItemStack(Items.WRITTEN_BOOK)); + return AllBlocks.CLIPBOARD.isIn(stack) || stack.is(Items.BOOK) + || stack.is(Items.WRITTEN_BOOK); case 3: // Material List output return false; case 4: // Gunpowder - return stack.sameItem(new ItemStack(Items.GUNPOWDER)); + return stack.is(Items.GUNPOWDER); default: return super.isItemValid(slot, stack); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/simibubi/create/content/schematics/requirement/ItemRequirement.java b/src/main/java/com/simibubi/create/content/schematics/requirement/ItemRequirement.java index 6b07940dc..85a8353a7 100644 --- a/src/main/java/com/simibubi/create/content/schematics/requirement/ItemRequirement.java +++ b/src/main/java/com/simibubi/create/content/schematics/requirement/ItemRequirement.java @@ -165,7 +165,7 @@ public class ItemRequirement { } public boolean matches(ItemStack other) { - return stack.sameItem(other); + return ItemStack.isSameItem(stack, other); } } diff --git a/src/main/java/com/simibubi/create/content/trains/signal/SignalBlock.java b/src/main/java/com/simibubi/create/content/trains/signal/SignalBlock.java index eca416bb9..0312f4745 100644 --- a/src/main/java/com/simibubi/create/content/trains/signal/SignalBlock.java +++ b/src/main/java/com/simibubi/create/content/trains/signal/SignalBlock.java @@ -18,6 +18,7 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.SignalGetter; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -57,7 +58,7 @@ public class SignalBlock extends Block implements IBE, IWrenc } @Override - public boolean shouldCheckWeakPower(BlockState state, LevelReader world, BlockPos pos, Direction side) { + public boolean shouldCheckWeakPower(BlockState state, SignalGetter level, BlockPos pos, Direction side) { return false; } @@ -89,7 +90,7 @@ public class SignalBlock extends Block implements IBE, IWrenc if (pState.getValue(POWERED) && !pLevel.hasNeighborSignal(pPos)) pLevel.setBlock(pPos, pState.cycle(POWERED), 2); } - + @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { IBE.onRemove(state, worldIn, pos, newState); diff --git a/src/main/java/com/simibubi/create/foundation/advancement/CriterionTriggerBase.java b/src/main/java/com/simibubi/create/foundation/advancement/CriterionTriggerBase.java index 63cdaa4df..be18eec20 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/CriterionTriggerBase.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/CriterionTriggerBase.java @@ -16,6 +16,7 @@ import com.simibubi.create.Create; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.advancements.CriterionTrigger; import net.minecraft.advancements.critereon.AbstractCriterionTriggerInstance; +import net.minecraft.advancements.critereon.ContextAwarePredicate; import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.PlayerAdvancements; @@ -80,8 +81,8 @@ public abstract class CriterionTriggerBase> suppliers); diff --git a/src/main/java/com/simibubi/create/foundation/advancement/SimpleCreateTrigger.java b/src/main/java/com/simibubi/create/foundation/advancement/SimpleCreateTrigger.java index c2f5df5d7..b9b86a5a8 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/SimpleCreateTrigger.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/SimpleCreateTrigger.java @@ -9,6 +9,7 @@ import javax.annotation.ParametersAreNonnullByDefault; import com.google.gson.JsonObject; import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.advancements.critereon.ContextAwarePredicate; import net.minecraft.advancements.critereon.DeserializationContext; import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.resources.ResourceLocation; @@ -38,7 +39,7 @@ public class SimpleCreateTrigger extends CriterionTriggerBase toolTip = new LinkedList<>(); protected BiConsumer onClick = (_$, _$$) -> {}; - + public int lockedTooltipX = -1; public int lockedTooltipY = -1; @@ -63,26 +64,22 @@ public abstract class AbstractSimiWidget extends AbstractWidget implements Ticka public void tick() {} @Override - public void render(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { - if (visible) { - isHovered = mouseX >= getX() && mouseY >= getY() && mouseX < getX() + width && mouseY < getY() + height; - beforeRender(ms, mouseX, mouseY, partialTicks); - renderButton(ms, mouseX, mouseY, partialTicks); - afterRender(ms, mouseX, mouseY, partialTicks); - wasHovered = isHoveredOrFocused(); - } + public void renderWidget(@Nonnull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { + beforeRender(graphics, mouseX, mouseY, partialTicks); + renderButton(graphics, mouseX, mouseY, partialTicks); + afterRender(graphics, mouseX, mouseY, partialTicks); + wasHovered = isHoveredOrFocused(); } - protected void beforeRender(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { - ms.pushPose(); + protected void beforeRender(@Nonnull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { + graphics.pose().pushPose(); } - @Override - public void renderButton(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { + protected void renderButton(@Nonnull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { } - protected void afterRender(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { - ms.popPose(); + protected void afterRender(@Nonnull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { + graphics.pose().popPose(); } public void runCallback(double mouseX, double mouseY) { diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java b/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java index 3e5ebd6d3..5e59efb4f 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java @@ -8,6 +8,7 @@ import com.simibubi.create.foundation.utility.Components; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; @@ -45,12 +46,12 @@ public class Label extends AbstractSimiWidget { public void setTextAndTrim(Component newText, boolean trimFront, int maxWidthPx) { Font fontRenderer = Minecraft.getInstance().font; - + if (fontRenderer.width(newText) <= maxWidthPx) { text = newText; return; } - + String trim = "..."; int trimWidth = fontRenderer.width(trim); @@ -71,7 +72,7 @@ public class Label extends AbstractSimiWidget { } @Override - public void renderButton(@Nonnull PoseStack matrixStack, int mouseX, int mouseY, float partialTicks) { + protected void renderButton(@Nonnull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { if (text == null || text.getString().isEmpty()) return; @@ -79,11 +80,8 @@ public class Label extends AbstractSimiWidget { MutableComponent copy = text.plainCopy(); if (suffix != null && !suffix.isEmpty()) copy.append(suffix); - - if (hasShadow) - font.drawShadow(matrixStack, copy, getX(), getY(), color); - else - font.draw(matrixStack, copy, getX(), getY(), color); + + graphics.drawString(font, copy, getX(), getY(), color, hasShadow); } } diff --git a/src/main/java/com/simibubi/create/foundation/item/ItemHelper.java b/src/main/java/com/simibubi/create/foundation/item/ItemHelper.java index 1f4e09d18..4e668c711 100644 --- a/src/main/java/com/simibubi/create/foundation/item/ItemHelper.java +++ b/src/main/java/com/simibubi/create/foundation/item/ItemHelper.java @@ -125,7 +125,7 @@ public class ItemHelper { return true; if (stacks1.length == stacks2.length) { for (int i = 0; i < stacks1.length; i++) - if (!ItemStack.isSame(stacks1[i], stacks2[i])) + if (!ItemStack.isSameItem(stacks1[i], stacks2[i])) return false; return true; } diff --git a/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java b/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java index efb7e5df6..e6a78eec0 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java @@ -43,7 +43,6 @@ import net.minecraft.world.level.block.state.properties.SlabType; import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunkSection; import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.material.Material; import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.level.BlockEvent; @@ -159,11 +158,11 @@ public class BlockHelper { float effectChance, Consumer droppedItemCallback) { FluidState fluidState = world.getFluidState(pos); BlockState state = world.getBlockState(pos); - + if (world.random.nextFloat() < effectChance) world.levelEvent(2001, pos, Block.getId(state)); BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; - + if (player != null) { BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, pos, state, player); MinecraftForge.EVENT_BUS.post(event); @@ -199,7 +198,7 @@ public class BlockHelper { state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true); } - + world.setBlockAndUpdate(pos, fluidState.createLegacyBlock()); } diff --git a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java index c56c3bd7c..c0ed043ec 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java +++ b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java @@ -42,7 +42,7 @@ public class WrappedWorld extends Level { protected LevelEntityGetter entityGetter = new DummyLevelEntityGetter<>(); public WrappedWorld(Level world) { - super((WritableLevelData) world.getLevelData(), world.dimension(), world.dimensionTypeRegistration(), + super((WritableLevelData) world.getLevelData(), world.dimension(), world.registryAccess(), world.dimensionTypeRegistration(), world::getProfiler, world.isClientSide, world.isDebug(), 0, 0); this.world = world; } diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/fluid/HosePulleyScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/fluid/HosePulleyScenes.java index 99a388b94..2cc7b96df 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/fluid/HosePulleyScenes.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/fluid/HosePulleyScenes.java @@ -23,7 +23,6 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; public class HosePulleyScenes { @@ -357,12 +356,12 @@ public class HosePulleyScenes { .pointAt(util.vector.topOf(util.grid.at(1, 3, 2))); scene.idle(60); - + scene.world.modifyBlockEntity(util.grid.at(4, 1, 1), FluidTankBlockEntity.class, be -> be.getTankInventory() .fill(new FluidStack(Fluids.WATER, 24000), FluidAction.EXECUTE)); - + scene.idle(20); - + scene.overlay.showText(60) .text("Pipe networks can limitlessly take fluids from/to such pulleys") .attachKeyFrame()