diff --git a/src/main/java/net/liukrast/deployer/lib/DeployerConstants.java b/src/main/java/net/liukrast/deployer/lib/DeployerConstants.java index cc70a91..df6e658 100644 --- a/src/main/java/net/liukrast/deployer/lib/DeployerConstants.java +++ b/src/main/java/net/liukrast/deployer/lib/DeployerConstants.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib; + +import java.lang.Boolean; import net.minecraft.resources.ResourceLocation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,7 +12,7 @@ private DeployerConstants() {} public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); - public static boolean PSIC_INSTALLED = false; + public static Boolean PSIC_INSTALLED = false; public static ResourceLocation id(String path, Object... args) { return ResourceLocation.fromNamespaceAndPath(MOD_ID, String.format(path, args)); diff --git a/src/main/java/net/liukrast/deployer/lib/logistics/board/AbstractPanelBehaviour.java b/src/main/java/net/liukrast/deployer/lib/logistics/board/AbstractPanelBehaviour.java index f60134e..7865836 100644 --- a/src/main/java/net/liukrast/deployer/lib/logistics/board/AbstractPanelBehaviour.java +++ b/src/main/java/net/liukrast/deployer/lib/logistics/board/AbstractPanelBehaviour.java @@ -1,5 +1,8 @@ package net.liukrast.deployer.lib.logistics.board; + +import java.lang.Boolean; +import java.lang.Integer; import com.mojang.serialization.Codec; import com.simibubi.create.content.logistics.factoryBoard.*; import com.simibubi.create.content.schematics.requirement.ItemRequirement; @@ -50,11 +53,11 @@ public abstract class AbstractPanelBehaviour extends FactoryPanelBehaviour { /** * Common color used to warn the user that the connection is currently waiting for the next tick to update * */ - protected static final int WAITING = 0xffd541; + protected static final Integer WAITING = 0xffd541; /** * Common color used to warn the user that the connection doesn't do anything * */ - protected static final int DISABLED = 0x888898; + protected static final Integer DISABLED = 0x888898; /** * This constructor allows to modify the valueBoxTransform to make a custom input system @@ -90,14 +93,14 @@ public Set> getConnections() { /** * @return Whether the panel has a precise connection, using forge's deferred holder * */ - public boolean hasConnection(DeferredHolder, PanelConnection> connection) { + public Boolean hasConnection(DeferredHolder, PanelConnection> connection) { return hasConnection(connection.get()); } /** * @return Whether this behavior has a precise connection * */ - public boolean hasConnection(PanelConnection connection) { + public Boolean hasConnection(PanelConnection connection) { return connections.containsKey(connection); } @@ -105,21 +108,21 @@ public boolean hasConnection(PanelConnection connection) { * @param shortenNumbers whether the display is in mode "shortened" or "full_number" * @return The component for display links * */ - public MutableComponent getDisplayLinkComponent(boolean shortenNumbers) { + public MutableComponent getDisplayLinkComponent(Boolean shortenNumbers) { return Component.empty(); } /** * Whether the panel should skip calling {@link FactoryPanelBehaviour#tick()} * */ - public boolean skipOriginalTick() { + public Boolean skipOriginalTick() { return true; } /** * @return Whether the panel should render its bulb * */ - public boolean shouldRenderBulb(boolean original) { + public Boolean shouldRenderBulb(Boolean original) { return false; } @@ -127,7 +130,7 @@ public boolean shouldRenderBulb(boolean original) { * Since original class extends {@link com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour}, * return true if you want this gauge to have the render from filtering behavior. * */ - public boolean withFilteringBehaviour() { + public Boolean withFilteringBehaviour() { return false; } @@ -142,16 +145,16 @@ public boolean withFilteringBehaviour() { public abstract PartialModel getModel(FactoryPanelBlock.PanelState panelState, FactoryPanelBlock.PanelType panelType); /** - * An easier extension of {@link AbstractPanelBehaviour#write(CompoundTag, HolderLookup.Provider, boolean)}. + * An easier extension of {@link AbstractPanelBehaviour#write(CompoundTag, HolderLookup.Provider, Boolean)}. * @param nbt The compound tag of the single gauge slot. Save your data into this * */ - public void easyWrite(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) {} + public void easyWrite(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket) {} /** - * An easier extension of {@link AbstractPanelBehaviour#read(CompoundTag, HolderLookup.Provider, boolean)}. + * An easier extension of {@link AbstractPanelBehaviour#read(CompoundTag, HolderLookup.Provider, Boolean)}. * @param nbt The compound tag of the single gauge slot. Read your data from this slot * */ - public void easyRead(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) {} + public void easyRead(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket) {} /** * Opens the editor screen for this panel @@ -169,7 +172,7 @@ public void displayScreen(Player player) { * since most of the custom gauges do not actually need a custom item inside to connect. * @return whether it should ignore or not the issue inserted. * */ - public boolean ignoreIssue(@Nullable String issue) { + public Boolean ignoreIssue(@Nullable String issue) { return "factory_panel.no_item".equals(issue); } @@ -177,14 +180,14 @@ public boolean ignoreIssue(@Nullable String issue) { * Generates color per connections with other gauges. * @param original the original color a normal gauge would return (just in case you needed) * */ - public int calculatePath(FactoryPanelBehaviour other, int original) { + public Integer calculatePath(FactoryPanelBehaviour other, Integer original) { return DISABLED; } /** * Generates color per connections with extra panel elements * */ - public int calculateExtraPath(BlockPos pos) { + public Integer calculateExtraPath(BlockPos pos) { return DISABLED; } @@ -263,19 +266,19 @@ public void consumeForExtra(PanelConnection panelConnection, BiConsumer getPanelType() { } @Override - public AbstractContainerMenu createMenu(int containerId, Inventory playerInventory, Player player) { + public AbstractContainerMenu createMenu(Integer containerId, Inventory playerInventory, Player player) { return null; } @@ -304,7 +307,7 @@ public void destroy() { } @Override - public void read(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) { + public void read(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket) { super.read(nbt, registries, clientPacket); CompoundTag panelTag = nbt.getCompound(CreateLang.asId(slot.name())); if (panelTag.isEmpty()) { @@ -325,7 +328,7 @@ public void writeSafe(CompoundTag nbt, HolderLookup.Provider registries) { } @Override - public void write(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) { + public void write(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket) { CompoundTag special = nbt.contains("CustomPanels") ? nbt.getCompound("CustomPanels") : new CompoundTag(); special.putString(CreateLang.asId(slot.name()), Objects.requireNonNull(DeployerRegistries.PANEL.getKey(type)).toString()); nbt.put("CustomPanels", special); @@ -359,7 +362,7 @@ public void write(CompoundTag nbt, HolderLookup.Provider registries, boolean cli } @Override - public boolean canShortInteract(ItemStack toApply) { + public Boolean canShortInteract(ItemStack toApply) { return withFilteringBehaviour() && super.canShortInteract(toApply); } @@ -381,7 +384,7 @@ public void notifyRedstoneOutputs() { } @Override - public boolean acceptsValueSettings() { + public Boolean acceptsValueSettings() { return true; } diff --git a/src/main/java/net/liukrast/deployer/lib/logistics/board/BasicPanelScreen.java b/src/main/java/net/liukrast/deployer/lib/logistics/board/BasicPanelScreen.java index e2c9007..db117f8 100644 --- a/src/main/java/net/liukrast/deployer/lib/logistics/board/BasicPanelScreen.java +++ b/src/main/java/net/liukrast/deployer/lib/logistics/board/BasicPanelScreen.java @@ -1,5 +1,9 @@ package net.liukrast.deployer.lib.logistics.board; + +import java.lang.Boolean; +import java.lang.Float; +import java.lang.Integer; import com.google.common.collect.Lists; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelConfigurationPacket; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelConnectionHandler; @@ -27,7 +31,7 @@ public class BasicPanelScreen extends Abstract public static final ResourceLocation TEXTURE = DeployerConstants.id("textures/gui/generic_gauge.png"); public final T behaviour; - private boolean sendReset; + private Boolean sendReset; public BasicPanelScreen(T behaviour) { this(behaviour.getDisplayName(), behaviour); @@ -38,24 +42,24 @@ public BasicPanelScreen(Component component, T behaviour) { this.behaviour = behaviour; } - public int getWindowWidth() { + public Integer getWindowWidth() { return 0; } - public int getWindowHeight() { + public Integer getWindowHeight() { return 0; } @Override protected void init() { setWindowSize(getWindowWidth() + 106, getWindowHeight() + 46); - int sizeX = windowWidth; - int sizeY = windowHeight; + Integer sizeX = windowWidth; + Integer sizeY = windowHeight; super.init(); clearWidgets(); - int x = guiLeft; - int y = guiTop; + Integer x = guiLeft; + Integer y = guiTop; assert minecraft != null; IconButton confirmButton = new IconButton(x+sizeX-25, y+sizeY-24, AllIcons.I_CONFIRM); @@ -98,9 +102,9 @@ public void onConfirm() { } @Override - protected void renderWindow(@NotNull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { - int x = guiLeft; - int y = guiTop; + protected void renderWindow(@NotNull GuiGraphics graphics, Integer mouseX, Integer mouseY, Float partialTicks) { + Integer x = guiLeft; + Integer y = guiTop; graphics.drawCenteredString(font, title, x+windowWidth/2, y + 4, 0x3D3C48); graphics.blit(TEXTURE,x, y, 0, 0, 53, 16); graphics.blit(TEXTURE,x+windowWidth-106+53, y, 139, 0, 53, 16); @@ -109,9 +113,9 @@ protected void renderWindow(@NotNull GuiGraphics graphics, int mouseX, int mouse graphics.blit(TEXTURE,x+windowWidth-106+53, y+windowHeight-46+15, 139, 56, 60, 32); if(windowWidth > 106) { - int r = windowWidth-106; - int r1 = r-3; - int step = 0; + Integer r = windowWidth-106; + Integer r1 = r-3; + Integer step = 0; if(r > 1) graphics.blit(TEXTURE,x+windowWidth-106+52, y+windowHeight-46+15,138,56,1,32); graphics.blit(TEXTURE, x+53,y+windowHeight-46+15,53,56,2,32); while(r > 0 || r1 > 0) { @@ -124,13 +128,13 @@ protected void renderWindow(@NotNull GuiGraphics graphics, int mouseX, int mouse } if(windowHeight > 47) { - int r = windowHeight-47; - int step = 0; + Integer r = windowHeight-47; + Integer step = 0; graphics.blit(TEXTURE,x,y+16,0,16,53,Math.min(r, 40)); graphics.blit(TEXTURE,x+windowWidth-106+53,y+16,139,16,53,Math.min(r, 40)); if(windowWidth > 106) { - int r1 = windowWidth-106; - int step1 = 0; + Integer r1 = windowWidth-106; + Integer step1 = 0; while(r1>0) { graphics.blit(TEXTURE, x + 53 + step1*86, y+16, 53, 16, Math.min(r1, 86), Math.min(r, 40)); step1++; @@ -141,8 +145,8 @@ protected void renderWindow(@NotNull GuiGraphics graphics, int mouseX, int mouse while(r>0) { graphics.blit(TEXTURE,x,y+56+step*36,0,20,53,Math.min(r, 36)); graphics.blit(TEXTURE,x+windowWidth-106+53,y+56+step*36,139,20,53,Math.min(r, 36)); - int r1 = windowWidth-106; - int step1 = 0; + Integer r1 = windowWidth-106; + Integer step1 = 0; while(r1>0) { graphics.blit(TEXTURE, x + 53 + step1*86, y+56+step*36, 53, 20, Math.min(r1, 86), Math.min(r, 36)); step1++; diff --git a/src/main/java/net/liukrast/deployer/lib/logistics/board/LogisticallyLinkedPanelBlockItem.java b/src/main/java/net/liukrast/deployer/lib/logistics/board/LogisticallyLinkedPanelBlockItem.java index db00ce4..d4f9759 100644 --- a/src/main/java/net/liukrast/deployer/lib/logistics/board/LogisticallyLinkedPanelBlockItem.java +++ b/src/main/java/net/liukrast/deployer/lib/logistics/board/LogisticallyLinkedPanelBlockItem.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.logistics.board; + +import java.lang.Boolean; import com.simibubi.create.content.logistics.packagerLink.LogisticallyLinkedBehaviour; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; import com.simibubi.create.foundation.utility.CreateLang; @@ -28,7 +30,7 @@ public LogisticallyLinkedPanelBlockItem(Supplier> type, Properties } @Override - public boolean isFoil(@NotNull ItemStack stack) { + public Boolean isFoil(@NotNull ItemStack stack) { return isTuned(stack); } @@ -45,7 +47,7 @@ public boolean isFoil(@NotNull ItemStack stack) { return super.useOn(pContext); LogisticallyLinkedBehaviour link = BlockEntityBehaviour.get(level, pos, LogisticallyLinkedBehaviour.TYPE); - boolean tuned = isTuned(stack); + Boolean tuned = isTuned(stack); if (link != null) { if (level.isClientSide) @@ -67,7 +69,7 @@ public boolean isFoil(@NotNull ItemStack stack) { } @Override - protected boolean updateCustomBlockEntityTag(@NotNull BlockPos pos, @NotNull Level level, Player player, @NotNull ItemStack stack, + protected Boolean updateCustomBlockEntityTag(@NotNull BlockPos pos, @NotNull Level level, Player player, @NotNull ItemStack stack, @NotNull BlockState state) { return super.updateCustomBlockEntityTag(pos, level, player, fixCtrlCopiedStack(stack), state); } diff --git a/src/main/java/net/liukrast/deployer/lib/logistics/board/PanelBlockItem.java b/src/main/java/net/liukrast/deployer/lib/logistics/board/PanelBlockItem.java index bef566c..786f64b 100644 --- a/src/main/java/net/liukrast/deployer/lib/logistics/board/PanelBlockItem.java +++ b/src/main/java/net/liukrast/deployer/lib/logistics/board/PanelBlockItem.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.logistics.board; + +import java.lang.Boolean; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBlock; @@ -97,7 +99,7 @@ public void applyExtraPlacementData(BlockPlaceContext context, FactoryPanelBlock player.displayClientMessage(message, true); } - public boolean applyToSlot(FactoryPanelBlockEntity blockEntity, FactoryPanelBlock.PanelSlot slot, @Nullable UUID networkId) { + public Boolean applyToSlot(FactoryPanelBlockEntity blockEntity, FactoryPanelBlock.PanelSlot slot, @Nullable UUID networkId) { var oldBehaviour = blockEntity.panels.get(slot); if(oldBehaviour == null || !oldBehaviour.isActive()) { var newBehaviour = getNewBehaviourInstance(blockEntity, slot); diff --git a/src/main/java/net/liukrast/deployer/lib/logistics/board/ScrollPanelBehaviour.java b/src/main/java/net/liukrast/deployer/lib/logistics/board/ScrollPanelBehaviour.java index 505057e..6805493 100644 --- a/src/main/java/net/liukrast/deployer/lib/logistics/board/ScrollPanelBehaviour.java +++ b/src/main/java/net/liukrast/deployer/lib/logistics/board/ScrollPanelBehaviour.java @@ -1,5 +1,8 @@ package net.liukrast.deployer.lib.logistics.board; + +import java.lang.Boolean; +import java.lang.Integer; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBlock; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBlockEntity; import net.minecraft.core.HolderLookup; @@ -13,9 +16,9 @@ import java.util.function.Supplier; public abstract class ScrollPanelBehaviour extends AbstractPanelBehaviour { - public int value; + public Integer value; public Component label; - protected int min,max = 1; + protected Integer min,max = 1; Consumer callback; Consumer clientCallback; public Function formatter; @@ -34,7 +37,7 @@ public ScrollPanelBehaviour(Component label, PanelType type, FactoryPanelBloc isActive = () -> true; } - public void between(int min, int max) { + public void between(Integer min, Integer max) { this.min = min; this.max = max; } @@ -44,18 +47,18 @@ public void withFormatter(Function formatter) { } @Override - public void easyWrite(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) { + public void easyWrite(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket) { nbt.putInt("ScrollValue", value); super.easyWrite(nbt, registries, clientPacket); } @Override - public void easyRead(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) { + public void easyRead(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket) { value = nbt.contains("ScrollValue") ? nbt.getInt("ScrollValue") : 0; super.easyRead(nbt, registries, clientPacket); } - public void setValue(int value) { + public void setValue(Integer value) { value = Mth.clamp(value, min, max); if (value == this.value) return; @@ -65,7 +68,7 @@ public void setValue(int value) { blockEntity.sendData(); } - public int getValue() { + public Integer getValue() { return value; } @@ -74,7 +77,7 @@ public String formatValue() { } @Override - public void setValueSettings(Player player, ValueSettings settings, boolean ctrlDown) { + public void setValueSettings(Player player, ValueSettings settings, Boolean ctrlDown) { if (settings.equals(getValueSettings())) return; setValue(settings.value()); diff --git a/src/main/java/net/liukrast/deployer/lib/logistics/board/connection/ColoredFactoryPanelSupportBehaviour.java b/src/main/java/net/liukrast/deployer/lib/logistics/board/connection/ColoredFactoryPanelSupportBehaviour.java index 1119d9f..215c7b9 100644 --- a/src/main/java/net/liukrast/deployer/lib/logistics/board/connection/ColoredFactoryPanelSupportBehaviour.java +++ b/src/main/java/net/liukrast/deployer/lib/logistics/board/connection/ColoredFactoryPanelSupportBehaviour.java @@ -1,5 +1,8 @@ package net.liukrast.deployer.lib.logistics.board.connection; + +import java.lang.Boolean; +import java.lang.Integer; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBehaviour; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelSupportBehaviour; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; @@ -19,5 +22,5 @@ public ColoredFactoryPanelSupportBehaviour(SmartBlockEntity be, Supplier original) { + private static Boolean at(FactoryPanelBehaviour instance, Operation original) { if(instance == null) return true; return original.call(instance); } @@ -105,12 +108,12 @@ private Map tickRequests(FactoryPa /* DATA */ @Inject(method = "write", at = @At(value = "INVOKE", target = "Lnet/minecraft/nbt/CompoundTag;putUUID(Ljava/lang/String;Ljava/util/UUID;)V")) - private void write(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket, CallbackInfo ci, @Local(ordinal = 1) CompoundTag panelTag) { + private void write(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket, CallbackInfo ci, @Local(ordinal = 1) CompoundTag panelTag) { panelTag.put("TargetedByExtra", CatnipCodecUtils.encode(Codec.list(FactoryPanelConnection.CODEC), new ArrayList<>(deployer$targetedByExtra.values())).orElseThrow()); } @Inject(method = "read", at = @At(value = "INVOKE", target = "Ljava/util/Map;clear()V")) - private void read(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket, CallbackInfo ci, @Local(ordinal = 1) CompoundTag panelTag) { + private void read(CompoundTag nbt, HolderLookup.Provider registries, Boolean clientPacket, CallbackInfo ci, @Local(ordinal = 1) CompoundTag panelTag) { deployer$targetedByExtra.clear(); CatnipCodecUtils.decode(Codec.list(FactoryPanelConnection.CODEC), panelTag.get("TargetedByExtra")).orElse(List.of()) .forEach(c -> deployer$targetedByExtra.put(c.from.pos(), c)); @@ -139,7 +142,7 @@ private void disconnectAllLinks(CallbackInfo ci) { /* OTHER PANELS UPDATE */ @ModifyVariable(method = "checkForRedstoneInput", at = @At(value = "STORE", ordinal = 0)) - private boolean checkForRedstoneInput(boolean shouldPower, @Cancellable CallbackInfo ci) { + private Boolean checkForRedstoneInput(Boolean shouldPower, @Cancellable CallbackInfo ci) { var i = FactoryPanelBehaviour.class.cast(this); block: for(FactoryPanelConnection connection : targetedBy.values()) { if(!i.getWorld().isLoaded(connection.from.pos())) { @@ -175,11 +178,11 @@ private boolean checkForRedstoneInput(boolean shouldPower, @Cancellable Callback return shouldPower; } - @Definition(id = "shouldPower", local = @Local(type = boolean.class)) + @Definition(id = "shouldPower", local = @Local(type = Boolean.class)) @Definition(id = "redstonePowered", field = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;redstonePowered:Z") @Expression("shouldPower == this.redstonePowered") @ModifyExpressionValue(method = "checkForRedstoneInput", at = @At("MIXINEXTRAS:EXPRESSION")) - private boolean checkForRedstoneInput$1(boolean original) { + private Boolean checkForRedstoneInput$1(Boolean original) { var i = FactoryPanelBehaviour.class.cast(this); Integer total = null; StringBuilder addressChange = null; @@ -246,7 +249,7 @@ private void notifyRedstoneOutputs(CallbackInfo ci) { /* INTERACTION */ @ModifyExpressionValue(method = "onShortInteract", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z", ordinal = 0)) - private boolean onShortInteract(boolean original) { + private Boolean onShortInteract(Boolean original) { var instance = FactoryPanelBehaviour.class.cast(this); return instance instanceof AbstractPanelBehaviour panel ? panel.withFilteringBehaviour() && original : original; } @@ -256,13 +259,13 @@ private boolean onShortInteract(boolean original) { @Definition(id = "LogisticallyLinkedBlockItem", type = LogisticallyLinkedBlockItem.class) @Expression("heldItem.getItem() instanceof LogisticallyLinkedBlockItem") @ModifyExpressionValue(method = "onShortInteract", at = @At("MIXINEXTRAS:EXPRESSION")) - private boolean onShortInteract$1(boolean original) { + private Boolean onShortInteract$1(Boolean original) { var instance = FactoryPanelBehaviour.class.cast(this); return original && !(instance instanceof AbstractPanelBehaviour); } @ModifyExpressionValue(method = "onShortInteract", at = @At(value = "INVOKE", target = "Ljava/util/Map;size()I")) - private int onShortInteract(int original) { + private Integer onShortInteract(Integer original) { return original + deployer$targetedByExtra.size(); } diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockEntityMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockEntityMixin.java index ee734db..8ebf3f5 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockEntityMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockEntityMixin.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Boolean; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBehaviour; import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBlockEntity; @@ -36,7 +38,7 @@ public FactoryPanelBlockEntityMixin(BlockEntityType type, BlockPos pos, Block } @Inject(method = "read", at = @At("HEAD")) - private void read(CompoundTag tag, HolderLookup.Provider registries, boolean clientPacket, CallbackInfo ci) { + private void read(CompoundTag tag, HolderLookup.Provider registries, Boolean clientPacket, CallbackInfo ci) { var instance = FactoryPanelBlockEntity.class.cast(this); if(!tag.contains("CustomPanels")) return; var customPanels = tag.getCompound("CustomPanels"); diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockMixin.java index 5817cdd..9d501bb 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelBlockMixin.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Boolean; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; @@ -74,7 +76,7 @@ public static FactoryPanelBlock.PanelSlot getTargetedSlot(BlockPos pos, BlockSta } @ModifyExpressionValue(method = "getStateForPlacement", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;isClientSide()Z")) - private boolean getStateForPlacement(boolean original, @Local(argsOnly = true) BlockPlaceContext context, @Local FactoryPanelBlockEntity blockEntity, @Local(ordinal = 1) BlockState state, @Local Vec3 location) { + private Boolean getStateForPlacement(Boolean original, @Local(argsOnly = true) BlockPlaceContext context, @Local FactoryPanelBlockEntity blockEntity, @Local(ordinal = 1) BlockState state, @Local Vec3 location) { if(original) return true; if(!(context.getItemInHand().getItem() instanceof PanelBlockItem panelBlockItem)) return false; panelBlockItem.applyExtraPlacementData(context, blockEntity, getTargetedSlot(context.getClickedPos(), state, location)); @@ -88,7 +90,7 @@ private static ItemStack asStack(ItemStack original, @Local FactoryPanelBehaviou } @WrapWithCondition(method = "setPlacedBy", at = @At(value = "INVOKE", target = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBlock;withBlockEntityDo(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Ljava/util/function/Consumer;)V")) - private boolean withBlockEntityDo(FactoryPanelBlock instance, BlockGetter blockGetter, BlockPos pos, Consumer consumer, @Local(argsOnly = true) ItemStack stack, @Local FactoryPanelBlock.PanelSlot initialSlot) { + private Boolean withBlockEntityDo(FactoryPanelBlock instance, BlockGetter blockGetter, BlockPos pos, Consumer consumer, @Local(argsOnly = true) ItemStack stack, @Local FactoryPanelBlock.PanelSlot initialSlot) { if(!(stack.getItem() instanceof PanelBlockItem panelBlockItem)) return true; FactoryPanelBlock.class.cast(this).withBlockEntityDo(blockGetter, pos, blockEntity -> panelBlockItem.applyToSlot(blockEntity, initialSlot, LogisticallyLinkedBlockItem.networkFromStack(FactoryPanelBlockItem.fixCtrlCopiedStack(stack)))); return false; @@ -114,17 +116,17 @@ private void useItemOn(ItemStack stack, BlockState state, Level level, BlockPos } @ModifyExpressionValue(method = "useItemOn", at = @At(value = "INVOKE", target = "Lcom/tterrag/registrate/util/entry/BlockEntry;isIn(Lnet/minecraft/world/item/ItemStack;)Z")) - private boolean useItemOn(boolean original, @Local(argsOnly = true) ItemStack stack) { + private Boolean useItemOn(Boolean original, @Local(argsOnly = true) ItemStack stack) { return original || stack.getItem() instanceof PanelBlockItem; } @ModifyExpressionValue(method = "useItemOn", at = @At(value = "INVOKE", target = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBlockItem;isTuned(Lnet/minecraft/world/item/ItemStack;)Z")) - private boolean useItemOn$$1(boolean original, @Local(argsOnly = true) ItemStack stack) { + private Boolean useItemOn$$1(Boolean original, @Local(argsOnly = true) ItemStack stack) { return original || stack.getItem() instanceof PanelBlockItem; } @WrapOperation(method = "lambda$useItemOn$2", at = @At(value = "INVOKE", target = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBlockEntity;addPanel(Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBlock$PanelSlot;Ljava/util/UUID;)Z")) - private boolean lambda$useItemOn$2(FactoryPanelBlockEntity instance, FactoryPanelBlock.PanelSlot panelSlot, UUID slot, Operation original, @Local(argsOnly = true) ItemStack stack, @Local(argsOnly = true) FactoryPanelBlockEntity blockEntity, @Local(argsOnly = true) FactoryPanelBlock.PanelSlot newSlot) { + private Boolean lambda$useItemOn$2(FactoryPanelBlockEntity instance, FactoryPanelBlock.PanelSlot panelSlot, UUID slot, Operation original, @Local(argsOnly = true) ItemStack stack, @Local(argsOnly = true) FactoryPanelBlockEntity blockEntity, @Local(argsOnly = true) FactoryPanelBlock.PanelSlot newSlot) { if(stack.getItem() instanceof PanelBlockItem blockItem) return blockItem.applyToSlot(blockEntity, newSlot, LogisticallyLinkedBlockItem.networkFromStack(FactoryPanelBlockItem.fixCtrlCopiedStack(stack))); return original.call(instance, panelSlot, slot); } @@ -151,12 +153,12 @@ private boolean useItemOn(boolean original, @Local(argsOnly = true) ItemStack st } @ModifyExpressionValue(method = "canBeReplaced", at = @At(value = "INVOKE", target = "Lcom/tterrag/registrate/util/entry/BlockEntry;isIn(Lnet/minecraft/world/item/ItemStack;)Z")) - private boolean canBeReplaced(boolean original, @Local(argsOnly = true) BlockPlaceContext context) { + private Boolean canBeReplaced(Boolean original, @Local(argsOnly = true) BlockPlaceContext context) { return original || context.getItemInHand().getItem() instanceof PanelBlockItem; } @WrapOperation(method = "canBeReplaced", at = @At(value = "INVOKE", target = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;isActive()Z")) - private boolean canBeReplaced(FactoryPanelBehaviour instance, Operation original) { + private Boolean canBeReplaced(FactoryPanelBehaviour instance, Operation original) { if(instance == null) return false; return original.call(instance); } diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelConnectionHandlerMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelConnectionHandlerMixin.java index 4a19a3b..f3e024b 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelConnectionHandlerMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelConnectionHandlerMixin.java @@ -1,5 +1,8 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Boolean; +import java.lang.Double; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; import com.simibubi.create.AllSoundEvents; @@ -39,7 +42,7 @@ public class FactoryPanelConnectionHandlerMixin { method = "checkForIssues(Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;)Ljava/lang/String;", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z", ordinal = 0) ) - private static boolean checkForIssues(boolean original, @Local(argsOnly = true, ordinal = 1) FactoryPanelBehaviour to) { + private static Boolean checkForIssues(Boolean original, @Local(argsOnly = true, ordinal = 1) FactoryPanelBehaviour to) { if(to instanceof AbstractPanelBehaviour ab) return original && !ab.ignoreIssue("factory_panel.no_item"); return original; } @@ -48,7 +51,7 @@ private static boolean checkForIssues(boolean original, @Local(argsOnly = true, method = "checkForIssues(Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;)Ljava/lang/String;", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z", ordinal = 1) ) - private static boolean checkForIssues$1(boolean original, @Local(argsOnly = true, ordinal = 0) FactoryPanelBehaviour from) { + private static Boolean checkForIssues$1(Boolean original, @Local(argsOnly = true, ordinal = 0) FactoryPanelBehaviour from) { if(from instanceof AbstractPanelBehaviour ab) return original && !ab.ignoreIssue("factory_panel.no_item"); return original; } @@ -105,7 +108,7 @@ private static void onRightClick(CallbackInfoReturnable cir, @Local Min return; } FactoryPanelPosition bestPosition = null; - double bestDistance = Double.POSITIVE_INFINITY; + Double bestDistance = Double.POSITIVE_INFINITY; for (FactoryPanelBlock.PanelSlot slot : FactoryPanelBlock.PanelSlot.values()) { FactoryPanelPosition panelPosition = new FactoryPanelPosition(bhr.getBlockPos(), slot); diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelRendererMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelRendererMixin.java index f8f57fc..dc82de6 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelRendererMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelRendererMixin.java @@ -1,5 +1,9 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Boolean; +import java.lang.Float; +import java.lang.Integer; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef; @@ -27,7 +31,7 @@ public class FactoryPanelRendererMixin { method = "renderSafe(Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBlockEntity;FLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;II)V", at = @At(value = "INVOKE", target = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;getAmount()I") ) - private int renderSafe(int original, @Local FactoryPanelBehaviour behaviour, @Local(argsOnly = true) float partialTicks, @Local(argsOnly = true)PoseStack ms, @Local(argsOnly = true)MultiBufferSource buffer, @Local(argsOnly = true, ordinal = 0) int light, @Local(argsOnly = true, ordinal = 1) int overlay) { + private Integer renderSafe(Integer original, @Local FactoryPanelBehaviour behaviour, @Local(argsOnly = true) Float partialTicks, @Local(argsOnly = true)PoseStack ms, @Local(argsOnly = true)MultiBufferSource buffer, @Local(argsOnly = true, ordinal = 0) Integer light, @Local(argsOnly = true, ordinal = 1) Integer overlay) { if (behaviour instanceof AbstractPanelBehaviour abstractPanel) { ms.pushPose(); NeoForge.EVENT_BUS.post(new AbstractPanelRenderEvent(abstractPanel, partialTicks, ms, buffer, light, overlay)); @@ -41,14 +45,14 @@ private int renderSafe(int original, @Local FactoryPanelBehaviour behaviour, @Lo method = "renderSafe(Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBlockEntity;FLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;II)V", at = @At(value = "INVOKE", target = "Ljava/util/Map;values()Ljava/util/Collection;", ordinal = 0) ) - private void renderSafe(FactoryPanelBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay, CallbackInfo ci, @Local FactoryPanelBehaviour behaviour) { + private void renderSafe(FactoryPanelBlockEntity be, Float partialTicks, PoseStack ms, MultiBufferSource buffer, Integer light, Integer overlay, CallbackInfo ci, @Local FactoryPanelBehaviour behaviour) { for(FactoryPanelConnection connection : ((IFPExtension)behaviour).deployer$getExtra().values()) FactoryPanelRenderer.renderPath(behaviour, connection, partialTicks, ms, buffer, light, overlay); } /* Render paths */ @ModifyArg(method = "renderPath", at = @At(value = "INVOKE", target = "Lnet/createmod/catnip/render/SuperByteBuffer;color(I)Lnet/createmod/catnip/render/SuperByteBuffer;")) - private static int renderPath(int color, @Local(argsOnly = true) FactoryPanelBehaviour behaviour, @Local(argsOnly = true) FactoryPanelConnection connection, @Local FactoryPanelSupportBehaviour support, @Local(ordinal = 1) boolean redstoneLinkMode, @Local(ordinal = 4) LocalBooleanRef dots) { + private static Integer renderPath(Integer color, @Local(argsOnly = true) FactoryPanelBehaviour behaviour, @Local(argsOnly = true) FactoryPanelConnection connection, @Local FactoryPanelSupportBehaviour support, @Local(ordinal = 1) Boolean redstoneLinkMode, @Local(ordinal = 4) LocalBooleanRef dots) { if(redstoneLinkMode && behaviour instanceof AbstractPanelBehaviour ab) { var opt = ab.getConnectionValue(DeployerPanelConnections.REDSTONE.get()); if(opt.isPresent()) { diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelSupportBehaviourMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelSupportBehaviourMixin.java index f5231f2..080f8ec 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelSupportBehaviourMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/FactoryPanelSupportBehaviourMixin.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Boolean; import com.llamalad7.mixinextras.expression.Definition; import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; @@ -17,7 +19,7 @@ public class FactoryPanelSupportBehaviourMixin { @Definition(id = "satisfied", field = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;satisfied:Z") @Expression("behaviour.satisfied") @ModifyExpressionValue(method = "shouldBePoweredTristate", at = @At("MIXINEXTRAS:EXPRESSION")) - private boolean shouldBePoweredTristate(boolean original, @Local FactoryPanelBehaviour behaviour) { + private Boolean shouldBePoweredTristate(Boolean original, @Local FactoryPanelBehaviour behaviour) { return DeployerPanelConnections.getConnectionValue(behaviour, DeployerPanelConnections.REDSTONE).orElse(0) > 0; } @@ -25,7 +27,7 @@ private boolean shouldBePoweredTristate(boolean original, @Local FactoryPanelBeh @Definition(id = "count", field = "Lcom/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour;count:I") @Expression("behaviour.count != 0") @ModifyExpressionValue(method = "shouldBePoweredTristate", at = @At("MIXINEXTRAS:EXPRESSION")) - private boolean shouldBePoweredTriState$1(boolean original, @Local FactoryPanelBehaviour behaviour) { + private Boolean shouldBePoweredTriState$1(Boolean original, @Local FactoryPanelBehaviour behaviour) { return behaviour instanceof AbstractPanelBehaviour panel ? panel.hasConnection(DeployerPanelConnections.REDSTONE) : original; } } diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/FilteringRendererMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/FilteringRendererMixin.java index ae0aa87..52d490b 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/FilteringRendererMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/FilteringRendererMixin.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Boolean; import com.llamalad7.mixinextras.expression.Definition; import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; @@ -18,7 +20,7 @@ public class FilteringRendererMixin { @Definition(id = "FilteringBehaviour", type = FilteringBehaviour.class) @Expression("b instanceof FilteringBehaviour") @ModifyExpressionValue(method = "tick", at = @At("MIXINEXTRAS:EXPRESSION")) - private static boolean tick(boolean original, @Local BlockEntityBehaviour b) { + private static Boolean tick(Boolean original, @Local BlockEntityBehaviour b) { return b instanceof AbstractPanelBehaviour panel ? panel.withFilteringBehaviour() : original; } } diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/PackageRepackageHelperMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/PackageRepackageHelperMixin.java index 9c431ac..58da514 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/PackageRepackageHelperMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/PackageRepackageHelperMixin.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Integer; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; @@ -22,13 +24,13 @@ private List repackBasedOnRecipes(List original) { List copied = original.stream().map(big -> big.stack.copy()).toList(); List result = NonNullList.withSize(copied.size(), ItemStack.EMPTY); for(var stack : copied) { - for(int i = 0; i < result.size(); i++) { + for(Integer i = 0; i < result.size(); i++) { var slot = result.get(i); if(slot.isEmpty()) { result.set(i, stack); break; } else if(ItemStack.isSameItemSameComponents(stack, slot)) { - int canPut = slot.getMaxStackSize() - slot.getCount(); + Integer canPut = slot.getMaxStackSize() - slot.getCount(); slot.setCount(slot.getCount() + Mth.clamp(stack.getCount(),0,canPut)); stack.setCount(Math.max(stack.getCount()-canPut, 0)); if(stack.getCount() == 0) break; @@ -39,7 +41,7 @@ private List repackBasedOnRecipes(List original) { } @WrapOperation(method = "repackBasedOnRecipes", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;copyWithCount(I)Lnet/minecraft/world/item/ItemStack;", ordinal = 0)) - private ItemStack repackBasedOnRecipes(ItemStack instance, int i, Operation original) { + private ItemStack repackBasedOnRecipes(ItemStack instance, Integer i, Operation original) { return instance.copy(); } } diff --git a/src/main/java/net/liukrast/deployer/lib/mixin/ValueSettingsClientMixin.java b/src/main/java/net/liukrast/deployer/lib/mixin/ValueSettingsClientMixin.java index 3234a4f..8eb75a6 100644 --- a/src/main/java/net/liukrast/deployer/lib/mixin/ValueSettingsClientMixin.java +++ b/src/main/java/net/liukrast/deployer/lib/mixin/ValueSettingsClientMixin.java @@ -1,5 +1,7 @@ package net.liukrast.deployer.lib.mixin; + +import java.lang.Integer; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsBehaviour; @@ -16,7 +18,7 @@ public class ValueSettingsClientMixin { @WrapOperation(method = "tick", at = @At(value = "NEW", target = "(Lnet/minecraft/core/BlockPos;Lcom/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsBoard;Lcom/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsBehaviour$ValueSettings;Ljava/util/function/Consumer;I)Lcom/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsScreen;")) - private ValueSettingsScreen tick(BlockPos pos, ValueSettingsBoard board, ValueSettingsBehaviour.ValueSettings valueSettings, Consumer onHover, int netId, Operation original) { + private ValueSettingsScreen tick(BlockPos pos, ValueSettingsBoard board, ValueSettingsBehaviour.ValueSettings valueSettings, Consumer onHover, Integer netId, Operation original) { if(board == null) return null; return original.call(pos, board, valueSettings, onHover, netId); } diff --git a/src/main/java/net/liukrast/deployer/lib/util/AllIconsHelper.java b/src/main/java/net/liukrast/deployer/lib/util/AllIconsHelper.java index 0aac010..a38965a 100644 --- a/src/main/java/net/liukrast/deployer/lib/util/AllIconsHelper.java +++ b/src/main/java/net/liukrast/deployer/lib/util/AllIconsHelper.java @@ -1,5 +1,8 @@ package net.liukrast.deployer.lib.util; + +import java.lang.Float; +import java.lang.Integer; import com.mojang.blaze3d.vertex.VertexConsumer; import com.simibubi.create.foundation.gui.AllIcons; import net.createmod.catnip.theme.Color; @@ -9,15 +12,15 @@ public class AllIconsHelper { - public static int getIconX(AllIcons allIcons) { + public static Integer getIconX(AllIcons allIcons) { return ((AllIconsMixin)allIcons).getIconX(); } - public static int getIconY(AllIcons allIcons) { + public static Integer getIconY(AllIcons allIcons) { return ((AllIconsMixin)allIcons).getIconY(); } - public static void invokeVertex(AllIcons allIcons, VertexConsumer builder, Matrix4f matrix, Vec3 vec, Color rgb, float u, float v, int light) { + public static void invokeVertex(AllIcons allIcons, VertexConsumer builder, Matrix4f matrix, Vec3 vec, Color rgb, Float u, Float v, Integer light) { ((AllIconsMixin)allIcons).invokeVertex(builder, matrix, vec, rgb, u, v, light); } } diff --git a/src/main/java/net/liukrast/deployer/lib/util/ponder/GaugeHelper.java b/src/main/java/net/liukrast/deployer/lib/util/ponder/GaugeHelper.java index 6a3bca3..bc717e0 100644 --- a/src/main/java/net/liukrast/deployer/lib/util/ponder/GaugeHelper.java +++ b/src/main/java/net/liukrast/deployer/lib/util/ponder/GaugeHelper.java @@ -1,5 +1,8 @@ package net.liukrast.deployer.lib.util.ponder; + +import java.lang.Boolean; +import java.lang.Integer; import com.simibubi.create.content.logistics.factoryBoard.*; import com.simibubi.create.content.redstone.nixieTube.NixieTubeBlockEntity; import com.simibubi.create.foundation.ponder.CreateSceneBuilder; @@ -28,7 +31,7 @@ public static CreateSceneBuilder simpleInit(SceneBuilder builder, SceneBuildingU return scene; } - public static void displayText(SceneBuilder builder, BlockPos pos, int time, boolean keyframe) { + public static void displayText(SceneBuilder builder, BlockPos pos, Integer time, Boolean keyframe) { var overlay = builder.overlay() .showText(time) .text("") @@ -43,13 +46,13 @@ public static void activateRedstone(SceneBuilder builder, BlockPos pos) { builder.effects().indicateRedstone(pos); } - public static void setSignText(SceneBuilder builder, BlockPos pos, int line, Component text) { + public static void setSignText(SceneBuilder builder, BlockPos pos, Integer line, Component text) { builder.world().modifyBlockEntity(pos, SignBlockEntity.class, be -> be.setText(be.getText(true).setMessage(line, text), true)); } - public static void setNixieTubeText(SceneBuilder builder, BlockPos start, Component text, int length, Direction direction) { - for(int i = 0; i < length; i++) { - final int index = i; + public static void setNixieTubeText(SceneBuilder builder, BlockPos start, Component text, Integer length, Direction direction) { + for(Integer i = 0; i < length; i++) { + final Integer index = i; builder.world().modifyBlockEntityNBT(builder.getScene().getSceneBuildingUtil().select().position(start.relative(direction, index)), NixieTubeBlockEntity.class, nbt -> { String asRaw = Component.Serializer.toJson(text, builder.world().getHolderLookupProvider()); nbt.putString("RawCustomText", asRaw); @@ -63,12 +66,12 @@ public static void setPanelItem(SceneBuilder builder, FactoryPanelPosition gauge withGaugeDo(builder, gauge, pb -> pb.setFilter(item)); } - public static void setPanelPowered(SceneBuilder builder, FactoryPanelPosition gauge, boolean power) { + public static void setPanelPowered(SceneBuilder builder, FactoryPanelPosition gauge, Boolean power) { withGaugeDo(builder, gauge, pb -> pb.redstonePowered = power); } @SuppressWarnings("unused") - public static void setPanelVisible(SceneBuilder builder, FactoryPanelPosition gauge, boolean visible) { + public static void setPanelVisible(SceneBuilder builder, FactoryPanelPosition gauge, Boolean visible) { withGaugeDo(builder, gauge, pb -> pb.active = visible); } @@ -96,7 +99,7 @@ public static void setPanelPassive(SceneBuilder builder, FactoryPanelPosition ga withGaugeDo(builder, gauge, pb -> pb.count = 0); } - public static void setConnectionAmount(SceneBuilder builder, FactoryPanelPosition from, FactoryPanelPosition to, int amount) { + public static void setConnectionAmount(SceneBuilder builder, FactoryPanelPosition from, FactoryPanelPosition to, Integer amount) { withGaugeDo(builder, from, pb -> pb.targetedBy.get(to).amount = amount); } @@ -104,7 +107,7 @@ public static void removePanelConnections(SceneBuilder builder, FactoryPanelPosi withGaugeDo(builder, gauge, FactoryPanelBehaviour::disconnectAll); } - public static void setArrowMode(SceneBuilder builder, FactoryPanelPosition gauge, FactoryPanelPosition from, int mode) { + public static void setArrowMode(SceneBuilder builder, FactoryPanelPosition gauge, FactoryPanelPosition from, Integer mode) { withGaugeDo(builder, gauge, pb -> { FactoryPanelConnection connection = pb.targetedBy.get(new FactoryPanelPosition(from.pos(), from.slot())); if (connection == null) {