From 68a02ed64b3c4dea934249e4b993585cc3f9227f Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Tue, 11 Aug 2020 16:20:31 +0200 Subject: [PATCH] Updated to 1.16.2-rc2 --- gradle.properties | 8 ++-- .../appeng/client/gui/AEBaseMEScreen.java | 4 +- .../java/appeng/client/gui/AEBaseScreen.java | 4 +- .../java/appeng/client/gui/Size1Slot.java | 8 ++-- .../gui/implementations/ChestScreen.java | 4 +- .../gui/implementations/CondenserScreen.java | 4 +- .../implementations/CraftAmountScreen.java | 2 +- .../implementations/CraftConfirmScreen.java | 4 +- .../implementations/CraftingCPUScreen.java | 2 +- .../implementations/CraftingTermScreen.java | 2 +- .../gui/implementations/DriveScreen.java | 4 +- .../implementations/FormationPlaneScreen.java | 4 +- .../gui/implementations/GrinderScreen.java | 4 +- .../gui/implementations/IOPortScreen.java | 4 +- .../gui/implementations/InscriberScreen.java | 4 +- .../gui/implementations/InterfaceScreen.java | 10 ++--- .../InterfaceTerminalScreen.java | 4 +- .../implementations/MEMonitorableScreen.java | 8 ++-- .../implementations/NetworkStatusScreen.java | 10 ++--- .../implementations/NetworkToolScreen.java | 4 +- .../implementations/NumberEntryWidget.java | 4 +- .../implementations/PatternTermScreen.java | 2 +- .../gui/implementations/PriorityScreen.java | 2 +- .../client/gui/implementations/QNBScreen.java | 4 +- .../implementations/QuartzKnifeScreen.java | 4 +- .../SecurityStationScreen.java | 2 +- .../gui/implementations/SkyChestScreen.java | 4 +- .../implementations/SpatialIOPortScreen.java | 16 +++---- .../gui/implementations/StorageBusScreen.java | 4 +- .../implementations/UpgradeableScreen.java | 4 +- .../VibrationChamberScreen.java | 4 +- .../gui/implementations/WirelessScreen.java | 4 +- .../appeng/client/me/SlotDisconnected.java | 2 +- .../java/appeng/client/me/SlotFluidME.java | 2 +- src/main/java/appeng/client/me/SlotME.java | 2 +- .../client/render/StackSizeRenderer.java | 2 +- .../appeng/container/AEBaseContainer.java | 20 ++++----- .../appeng/container/slot/AppEngSlot.java | 6 +-- .../container/slot/RestrictedInputSlot.java | 4 +- src/main/java/appeng/core/AppEngBase.java | 8 ++-- .../java/appeng/core/config/EnumOption.java | 9 ++-- .../features/registries/WorldGenRegistry.java | 2 +- .../java/appeng/core/worlddata/WorldData.java | 4 +- .../appeng/debug/MeteoritePlacerItem.java | 3 +- .../client/gui/FluidInterfaceScreen.java | 8 ++-- .../client/gui/FluidLevelEmitterScreen.java | 2 +- .../client/gui/FluidStorageBusScreen.java | 4 +- .../client/gui/FluidTerminalScreen.java | 6 +-- .../client/render/FluidStackSizeRenderer.java | 1 - .../parts/FluidAnnihilationPlanePart.java | 12 ++--- .../java/appeng/mixins/FluidTagsAccessor.java | 17 +++++++ .../mixins/spatial/DimensionTypeMixin.java | 11 ++++- .../appeng/mixins/spatial/EntityMixin.java | 31 +++++++++++++ .../mixins/spatial/SkyPropertiesMixin.java | 31 ++++++------- .../subcommands/SpatialStorageCommand.java | 20 ++++----- src/main/java/appeng/spatial/CachedPlane.java | 2 +- .../appeng/spatial/SpatialStorageBiome.java | 4 +- .../spatial/SpatialStorageChunkGenerator.java | 45 ++++++++++++------- .../spatial/SpatialStorageDimensionIds.java | 8 +++- .../appeng/spatial/SpatialStorageHelper.java | 44 +++++++++++------- .../spatial/SpatialStoragePlotManager.java | 1 + .../meteorite/MeteoriteStructureStart.java | 9 ++-- .../appliedenergistics2.accesswidener | 1 + .../resources/appliedenergistics2.mixins.json | 4 +- .../dimension}/spatial_storage.json | 0 .../recipes/misc/seeds_nether.json | 2 +- .../recipes/smelting/silicon.json | 2 +- .../tags/items/dusts/quartz.json | 2 +- 68 files changed, 278 insertions(+), 205 deletions(-) create mode 100644 src/main/java/appeng/mixins/FluidTagsAccessor.java create mode 100644 src/main/java/appeng/mixins/spatial/EntityMixin.java rename src/main/resources/data/{minecraft/dimension/appliedenergistics2 => appliedenergistics2/dimension}/spatial_storage.json (100%) diff --git a/gradle.properties b/gradle.properties index aa7294842..440eb767c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,12 +9,12 @@ org.gradle.jvmargs=-Xmx2G # Fabric Properties # Check these on https://modmuss50.me/fabric.html -minecraft_version=1.16.2-pre1 -yarn_mappings=1.16.2-pre1+build.5 -loader_version=0.9.0+build.204 +minecraft_version=1.16.2-rc2 +yarn_mappings=1.16.2-rc2+build.1 +loader_version=0.9.1+build.205 #Fabric api -fabric_version=0.16.3+build.390-1.16 +fabric_version=0.17.1+build.394-1.16 loom_version=0.4-SNAPSHOT diff --git a/src/main/java/appeng/client/gui/AEBaseMEScreen.java b/src/main/java/appeng/client/gui/AEBaseMEScreen.java index f6c167072..344696a32 100644 --- a/src/main/java/appeng/client/gui/AEBaseMEScreen.java +++ b/src/main/java/appeng/client/gui/AEBaseMEScreen.java @@ -70,14 +70,14 @@ public abstract class AEBaseMEScreen extends AEBaseSc currentToolTip.add(ButtonToolTips.ItemsRequestable.text(formattedAmount)); } - this.method_30901(matrices, currentToolTip, x, y); + this.renderTooltip(matrices, currentToolTip, x, y); return; } else if (stack.getCount() > bigNumber) { final String formattedAmount = NumberFormat.getNumberInstance(Locale.US).format(stack.getCount()); currentToolTip.add(ButtonToolTips.ItemsStored.text(formattedAmount).formatted(Formatting.GRAY)); - this.method_30901(matrices, currentToolTip, x, y); + this.renderTooltip(matrices, currentToolTip, x, y); return; } diff --git a/src/main/java/appeng/client/gui/AEBaseScreen.java b/src/main/java/appeng/client/gui/AEBaseScreen.java index 6cc789905..f3afe55d0 100644 --- a/src/main/java/appeng/client/gui/AEBaseScreen.java +++ b/src/main/java/appeng/client/gui/AEBaseScreen.java @@ -226,7 +226,7 @@ public abstract class AEBaseScreen extends HandledScr styledLines.add(lines.get(i).copy().styled(s -> style)); } - this.method_30901(matrices, styledLines, x, y); + this.renderTooltip(matrices, styledLines, x, y); } @Override @@ -535,7 +535,7 @@ public abstract class AEBaseScreen extends HandledScr } } - if (theSlot.getMaxStackAmount() == 64) { + if (theSlot.getMaxItemCount() == 64) { this.onMouseClick(theSlot, theSlot.id, j, SlotActionType.SWAP); return true; } else { diff --git a/src/main/java/appeng/client/gui/Size1Slot.java b/src/main/java/appeng/client/gui/Size1Slot.java index 3298ad0a2..ddc40c86a 100644 --- a/src/main/java/appeng/client/gui/Size1Slot.java +++ b/src/main/java/appeng/client/gui/Size1Slot.java @@ -48,13 +48,13 @@ class Size1Slot extends Slot { } @Override - public int getMaxStackAmount() { - return this.delegate.getMaxStackAmount(); + public int getMaxItemCount() { + return this.delegate.getMaxItemCount(); } @Override - public int getMaxStackAmount(ItemStack stack) { - return this.delegate.getMaxStackAmount(stack); + public int getMaxItemCount(ItemStack stack) { + return this.delegate.getMaxItemCount(stack); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/ChestScreen.java b/src/main/java/appeng/client/gui/implementations/ChestScreen.java index 8462220d4..e3488b793 100644 --- a/src/main/java/appeng/client/gui/implementations/ChestScreen.java +++ b/src/main/java/appeng/client/gui/implementations/ChestScreen.java @@ -51,8 +51,8 @@ public class ChestScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.Chest.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.Chest.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/CondenserScreen.java b/src/main/java/appeng/client/gui/implementations/CondenserScreen.java index a3bd280b2..b84807185 100644 --- a/src/main/java/appeng/client/gui/implementations/CondenserScreen.java +++ b/src/main/java/appeng/client/gui/implementations/CondenserScreen.java @@ -55,8 +55,8 @@ public class CondenserScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.Condenser.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.Condenser.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); this.mode.set(this.handler.getOutput()); this.mode.setFillVar(String.valueOf(this.handler.getOutput().requiredPower)); diff --git a/src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java b/src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java index d2a9a7bf5..e0e6abaa1 100644 --- a/src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java +++ b/src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java @@ -66,7 +66,7 @@ public class CraftAmountScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, GuiText.SelectAmount.text(), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.SelectAmount.text(), 8, 6, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/CraftConfirmScreen.java b/src/main/java/appeng/client/gui/implementations/CraftConfirmScreen.java index 4d52b9f6d..f48493142 100644 --- a/src/main/java/appeng/client/gui/implementations/CraftConfirmScreen.java +++ b/src/main/java/appeng/client/gui/implementations/CraftConfirmScreen.java @@ -162,7 +162,7 @@ public class CraftConfirmScreen extends AEBaseScreen { final String byteUsed = NumberFormat.getInstance().format(BytesUsed); final Text Add = BytesUsed > 0 ? new LiteralText(byteUsed + " ").append(GuiText.BytesUsed.text()) : GuiText.CalculatingWait.text(); - this.textRenderer.method_30883(matrices, GuiText.CraftingPlan.withSuffix(" - ").append(Add), 8, 7, 4210752); + this.textRenderer.draw(matrices, GuiText.CraftingPlan.withSuffix(" - ").append(Add), 8, 7, 4210752); Text dsp; @@ -176,7 +176,7 @@ public class CraftConfirmScreen extends AEBaseScreen { } final int offset = (219 - this.textRenderer.getWidth(dsp)) / 2; - this.textRenderer.method_30883(matrices, dsp, offset, 165, 4210752); + this.textRenderer.draw(matrices, dsp, offset, 165, 4210752); final int sectionLength = 67; diff --git a/src/main/java/appeng/client/gui/implementations/CraftingCPUScreen.java b/src/main/java/appeng/client/gui/implementations/CraftingCPUScreen.java index 195ba1868..60680d7f7 100644 --- a/src/main/java/appeng/client/gui/implementations/CraftingCPUScreen.java +++ b/src/main/java/appeng/client/gui/implementations/CraftingCPUScreen.java @@ -172,7 +172,7 @@ public class CraftingCPUScreen extends AEBaseScr title = title.copy().append(" - " + etaTimeText); } - this.textRenderer.method_30883(matrices, title, TITLE_LEFT_OFFSET, TITLE_TOP_OFFSET, TEXT_COLOR); + this.textRenderer.draw(matrices, title, TITLE_LEFT_OFFSET, TITLE_TOP_OFFSET, TEXT_COLOR); int x = 0; int y = 0; diff --git a/src/main/java/appeng/client/gui/implementations/CraftingTermScreen.java b/src/main/java/appeng/client/gui/implementations/CraftingTermScreen.java index ef4d14417..a0a754759 100644 --- a/src/main/java/appeng/client/gui/implementations/CraftingTermScreen.java +++ b/src/main/java/appeng/client/gui/implementations/CraftingTermScreen.java @@ -64,7 +64,7 @@ public class CraftingTermScreen extends MEMonitorableScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.Drive.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.Drive.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/FormationPlaneScreen.java b/src/main/java/appeng/client/gui/implementations/FormationPlaneScreen.java index 9084d133e..cf984b0cd 100644 --- a/src/main/java/appeng/client/gui/implementations/FormationPlaneScreen.java +++ b/src/main/java/appeng/client/gui/implementations/FormationPlaneScreen.java @@ -58,8 +58,8 @@ public class FormationPlaneScreen extends UpgradeableScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.GrindStone.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.GrindStone.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/IOPortScreen.java b/src/main/java/appeng/client/gui/implementations/IOPortScreen.java index b5acb25f1..eb88f76d6 100644 --- a/src/main/java/appeng/client/gui/implementations/IOPortScreen.java +++ b/src/main/java/appeng/client/gui/implementations/IOPortScreen.java @@ -59,8 +59,8 @@ public class IOPortScreen extends UpgradeableScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.IOPort.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.IOPort.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); if (this.redstoneMode != null) { this.redstoneMode.set(this.cvb.getRedStoneMode()); diff --git a/src/main/java/appeng/client/gui/implementations/InscriberScreen.java b/src/main/java/appeng/client/gui/implementations/InscriberScreen.java index d19738b36..3aa79c16e 100644 --- a/src/main/java/appeng/client/gui/implementations/InscriberScreen.java +++ b/src/main/java/appeng/client/gui/implementations/InscriberScreen.java @@ -56,8 +56,8 @@ public class InscriberScreen extends AEBaseScreen { this.pb.setFullMsg( new LiteralText(this.handler.getCurrentProgress() * 100 / this.handler.getMaxProgress() + "%")); - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.Inscriber.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.Inscriber.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java b/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java index 977829d22..d5a6f0738 100644 --- a/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java +++ b/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java @@ -68,13 +68,13 @@ public class InterfaceScreen extends UpgradeableScreen { this.interfaceMode.setState(((InterfaceContainer) this.cvb).getInterfaceTerminalMode() == YesNo.YES); } - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.Interface.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.Interface.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.Config.text(), 8, 6 + 11 + 7, 4210752); - this.textRenderer.method_30883(matrices, GuiText.StoredItems.text(), 8, 6 + 60 + 7, 4210752); - this.textRenderer.method_30883(matrices, GuiText.Patterns.text(), 8, 6 + 73 + 7, 4210752); + this.textRenderer.draw(matrices, GuiText.Config.text(), 8, 6 + 11 + 7, 4210752); + this.textRenderer.draw(matrices, GuiText.StoredItems.text(), 8, 6 + 60 + 7, 4210752); + this.textRenderer.draw(matrices, GuiText.Patterns.text(), 8, 6 + 73 + 7, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/InterfaceTerminalScreen.java b/src/main/java/appeng/client/gui/implementations/InterfaceTerminalScreen.java index ece1b4815..9dc5a08df 100644 --- a/src/main/java/appeng/client/gui/implementations/InterfaceTerminalScreen.java +++ b/src/main/java/appeng/client/gui/implementations/InterfaceTerminalScreen.java @@ -95,9 +95,9 @@ public class InterfaceTerminalScreen extends AEBaseScreen extends AEBas @Override public void init() { - getClient().keyboard.enableRepeatEvents(true); + getClient().keyboard.setRepeatEvents(true); this.maxRows = this.getMaxRows(); TerminalStyle terminalStyle = AEConfig.instance().getTerminalStyle(); @@ -285,8 +285,8 @@ public class MEMonitorableScreen extends AEBas @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(this.myName.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(this.myName.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); this.currentMouseX = mouseX; this.currentMouseY = mouseY; @@ -313,7 +313,7 @@ public class MEMonitorableScreen extends AEBas @Override public void removed() { super.removed(); - getClient().keyboard.enableRepeatEvents(false); + getClient().keyboard.setRepeatEvents(false); memoryText = this.searchField.getText(); } diff --git a/src/main/java/appeng/client/gui/implementations/NetworkStatusScreen.java b/src/main/java/appeng/client/gui/implementations/NetworkStatusScreen.java index 2454a2bd8..75e0bea5d 100644 --- a/src/main/java/appeng/client/gui/implementations/NetworkStatusScreen.java +++ b/src/main/java/appeng/client/gui/implementations/NetworkStatusScreen.java @@ -101,19 +101,19 @@ public class NetworkStatusScreen extends AEBaseScreen im @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, GuiText.NetworkDetails.text(), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.NetworkDetails.text(), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.StoredPower.withSuffix(": " + Platform.formatPowerLong(handler.getCurrentPower(), false)), 13, 16, 4210752); - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.MaxPower.withSuffix(": " + Platform.formatPowerLong(handler.getMaxPower(), false)), 13, 26, 4210752); - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.PowerInputRate.withSuffix(": " + Platform.formatPowerLong(handler.getAverageAddition(), true)), 13, 143 - 10, 4210752); - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.PowerUsageRate.withSuffix(": " + Platform.formatPowerLong(handler.getPowerUsage(), true)), 13, 143 - 20, 4210752); diff --git a/src/main/java/appeng/client/gui/implementations/NetworkToolScreen.java b/src/main/java/appeng/client/gui/implementations/NetworkToolScreen.java index 43e16f8ff..19f3ca409 100644 --- a/src/main/java/appeng/client/gui/implementations/NetworkToolScreen.java +++ b/src/main/java/appeng/client/gui/implementations/NetworkToolScreen.java @@ -58,8 +58,8 @@ public class NetworkToolScreen extends AEBaseScreen { this.tFacades.setState(handler.isFacadeMode()); } - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.NetworkTool.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.NetworkTool.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/NumberEntryWidget.java b/src/main/java/appeng/client/gui/implementations/NumberEntryWidget.java index 3840ddae2..d6c89b01d 100644 --- a/src/main/java/appeng/client/gui/implementations/NumberEntryWidget.java +++ b/src/main/java/appeng/client/gui/implementations/NumberEntryWidget.java @@ -23,8 +23,8 @@ import net.minecraft.text.Text; */ public class NumberEntryWidget implements ITickingWidget { - private static final Text PLUS = Text.method_30163("+"); - private static final Text MINUS = Text.method_30163("+"); + private static final Text PLUS = Text.of("+"); + private static final Text MINUS = Text.of("+"); private final AEBaseScreen parent; diff --git a/src/main/java/appeng/client/gui/implementations/PatternTermScreen.java b/src/main/java/appeng/client/gui/implementations/PatternTermScreen.java index c4389e5c6..6af652727 100644 --- a/src/main/java/appeng/client/gui/implementations/PatternTermScreen.java +++ b/src/main/java/appeng/client/gui/implementations/PatternTermScreen.java @@ -126,7 +126,7 @@ public class PatternTermScreen extends MEMonitorableScreen } super.drawFG(matrices, offsetX, offsetY, mouseX, mouseY); - this.textRenderer.method_30883(matrices, GuiText.PatternTerminal.text(), 8, + this.textRenderer.draw(matrices, GuiText.PatternTerminal.text(), 8, this.backgroundHeight - 96 + 2 - this.getReservedSpace(), 4210752); } diff --git a/src/main/java/appeng/client/gui/implementations/PriorityScreen.java b/src/main/java/appeng/client/gui/implementations/PriorityScreen.java index 71a7e0d85..98a94772c 100644 --- a/src/main/java/appeng/client/gui/implementations/PriorityScreen.java +++ b/src/main/java/appeng/client/gui/implementations/PriorityScreen.java @@ -62,7 +62,7 @@ public class PriorityScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, GuiText.Priority.text(), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.Priority.text(), 8, 6, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/QNBScreen.java b/src/main/java/appeng/client/gui/implementations/QNBScreen.java index 9ef5bf3fc..34c583800 100644 --- a/src/main/java/appeng/client/gui/implementations/QNBScreen.java +++ b/src/main/java/appeng/client/gui/implementations/QNBScreen.java @@ -35,9 +35,9 @@ public class QNBScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.QuantumLinkChamber.text()), 8, 6, + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.QuantumLinkChamber.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/QuartzKnifeScreen.java b/src/main/java/appeng/client/gui/implementations/QuartzKnifeScreen.java index b1093a123..b1a4e273e 100644 --- a/src/main/java/appeng/client/gui/implementations/QuartzKnifeScreen.java +++ b/src/main/java/appeng/client/gui/implementations/QuartzKnifeScreen.java @@ -59,9 +59,9 @@ public class QuartzKnifeScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.QuartzCuttingKnife.text()), 8, 6, + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.QuartzCuttingKnife.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/SecurityStationScreen.java b/src/main/java/appeng/client/gui/implementations/SecurityStationScreen.java index b92f141c9..bbd518532 100644 --- a/src/main/java/appeng/client/gui/implementations/SecurityStationScreen.java +++ b/src/main/java/appeng/client/gui/implementations/SecurityStationScreen.java @@ -82,7 +82,7 @@ public class SecurityStationScreen extends MEMonitorableScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.SkyChest.text()), 8, 8, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 2, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.SkyChest.text()), 8, 8, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 2, 4210752); } @Override diff --git a/src/main/java/appeng/client/gui/implementations/SpatialIOPortScreen.java b/src/main/java/appeng/client/gui/implementations/SpatialIOPortScreen.java index 6fa0a5fc3..ed5c3ac8d 100644 --- a/src/main/java/appeng/client/gui/implementations/SpatialIOPortScreen.java +++ b/src/main/java/appeng/client/gui/implementations/SpatialIOPortScreen.java @@ -43,27 +43,27 @@ public class SpatialIOPortScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.StoredPower.withSuffix(": " + Platform.formatPowerLong(this.handler.getCurrentPower(), false)), 13, 21, 4210752); - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.MaxPower.withSuffix(": " + Platform.formatPowerLong(this.handler.getMaxPower(), false)), 13, 31, 4210752); - this.textRenderer.method_30883(matrices, GuiText.RequiredPower + this.textRenderer.draw(matrices, GuiText.RequiredPower .withSuffix(": " + Platform.formatPowerLong(this.handler.getRequiredPower(), false)), 13, 73, 4210752); - this.textRenderer.method_30883(matrices, + this.textRenderer.draw(matrices, GuiText.Efficiency.withSuffix(": " + (((float) this.handler.getEfficency()) / 100) + '%'), 13, 83, 4210752); - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.SpatialIOPort.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.SpatialIOPort.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96, 4210752); if (this.handler.xSize != 0 && this.handler.ySize != 0 && this.handler.zSize != 0) { final Text text = GuiText.SCSSize .withSuffix(": " + this.handler.xSize + "x" + this.handler.ySize + "x" + this.handler.zSize); - this.textRenderer.method_30883(matrices, text, 13, 93, 4210752); + this.textRenderer.draw(matrices, text, 13, 93, 4210752); } else { - this.textRenderer.method_30883(matrices, GuiText.SCSSize.withSuffix(": ").append(GuiText.SCSInvalid.text()), + this.textRenderer.draw(matrices, GuiText.SCSSize.withSuffix(": ").append(GuiText.SCSInvalid.text()), 13, 93, 4210752); } diff --git a/src/main/java/appeng/client/gui/implementations/StorageBusScreen.java b/src/main/java/appeng/client/gui/implementations/StorageBusScreen.java index cb0e75153..2f5ae3615 100644 --- a/src/main/java/appeng/client/gui/implementations/StorageBusScreen.java +++ b/src/main/java/appeng/client/gui/implementations/StorageBusScreen.java @@ -69,8 +69,8 @@ public class StorageBusScreen extends UpgradeableScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.StorageBus.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.StorageBus.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); if (this.fuzzyMode != null) { this.fuzzyMode.set(this.cvb.getFuzzyMode()); diff --git a/src/main/java/appeng/client/gui/implementations/UpgradeableScreen.java b/src/main/java/appeng/client/gui/implementations/UpgradeableScreen.java index 0abefe6ae..eb87574fd 100644 --- a/src/main/java/appeng/client/gui/implementations/UpgradeableScreen.java +++ b/src/main/java/appeng/client/gui/implementations/UpgradeableScreen.java @@ -82,8 +82,8 @@ public class UpgradeableScreen extends AEBaseScr @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(this.getName().text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(this.getName().text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); if (this.redstoneMode != null) { this.redstoneMode.set(this.cvb.getRedStoneMode()); diff --git a/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java b/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java index 3711169bd..5985b2131 100644 --- a/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java +++ b/src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java @@ -51,9 +51,9 @@ public class VibrationChamberScreen extends AEBaseScreen { @Override public void drawFG(MatrixStack matrices, final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(GuiText.Wireless.text()), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, this.getGuiDisplayName(GuiText.Wireless.text()), 8, 6, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); if (handler.getRange() > 0) { final String firstMessage = GuiText.Range.text() + ": " + (handler.getRange() / 10.0) + " m"; diff --git a/src/main/java/appeng/client/me/SlotDisconnected.java b/src/main/java/appeng/client/me/SlotDisconnected.java index 6b6e8e01a..b96fa9cfd 100644 --- a/src/main/java/appeng/client/me/SlotDisconnected.java +++ b/src/main/java/appeng/client/me/SlotDisconnected.java @@ -71,7 +71,7 @@ public class SlotDisconnected extends AppEngSlot { } @Override - public int getMaxStackAmount() { + public int getMaxItemCount() { return 0; } diff --git a/src/main/java/appeng/client/me/SlotFluidME.java b/src/main/java/appeng/client/me/SlotFluidME.java index 98eaf4fd6..c8842f1be 100644 --- a/src/main/java/appeng/client/me/SlotFluidME.java +++ b/src/main/java/appeng/client/me/SlotFluidME.java @@ -74,7 +74,7 @@ public class SlotFluidME extends Slot implements IMEFluidSlot { } @Override - public int getMaxStackAmount() { + public int getMaxItemCount() { return 0; } diff --git a/src/main/java/appeng/client/me/SlotME.java b/src/main/java/appeng/client/me/SlotME.java index c6dbbf770..6b9b2b4ce 100644 --- a/src/main/java/appeng/client/me/SlotME.java +++ b/src/main/java/appeng/client/me/SlotME.java @@ -66,7 +66,7 @@ public class SlotME extends Slot { } @Override - public int getMaxStackAmount() { + public int getMaxItemCount() { return 0; } diff --git a/src/main/java/appeng/client/render/StackSizeRenderer.java b/src/main/java/appeng/client/render/StackSizeRenderer.java index b28f71ed7..430ddf2a6 100644 --- a/src/main/java/appeng/client/render/StackSizeRenderer.java +++ b/src/main/java/appeng/client/render/StackSizeRenderer.java @@ -78,7 +78,7 @@ public class StackSizeRenderer { final int Y = (int) ((yPos + offset + 16.0f - 7.0f * scaleFactor) * inverseScaleFactor); VertexConsumerProvider.Immediate buffer = VertexConsumerProvider .immediate(Tessellator.getInstance().getBuffer()); - fontRenderer.method_30882(text, X, Y, 16777215, true, tm.getMatrix(), buffer, false, 0, 15728880); + fontRenderer.draw(text, X, Y, 16777215, true, tm.getMatrix(), buffer, false, 0, 15728880); buffer.draw(); RenderSystem.enableBlend(); } diff --git a/src/main/java/appeng/container/AEBaseContainer.java b/src/main/java/appeng/container/AEBaseContainer.java index 17bb8eed2..8eff993a1 100644 --- a/src/main/java/appeng/container/AEBaseContainer.java +++ b/src/main/java/appeng/container/AEBaseContainer.java @@ -424,8 +424,8 @@ public abstract class AEBaseContainer extends ScreenHandler { if (Platform.itemComparisons().isSameItem(t, tis)) { int maxSize = t.getMaxCount(); - if (maxSize > d.getMaxStackAmount()) { - maxSize = d.getMaxStackAmount(); + if (maxSize > d.getMaxItemCount()) { + maxSize = d.getMaxItemCount(); } int placeable = maxSize - t.getCount(); @@ -468,8 +468,8 @@ public abstract class AEBaseContainer extends ScreenHandler { if (Platform.itemComparisons().isSameItem(t, tis)) { int maxSize = t.getMaxCount(); - if (maxSize > d.getMaxStackAmount()) { - maxSize = d.getMaxStackAmount(); + if (maxSize > d.getMaxItemCount()) { + maxSize = d.getMaxItemCount(); } int placeable = maxSize - t.getCount(); @@ -497,8 +497,8 @@ public abstract class AEBaseContainer extends ScreenHandler { } } else { int maxSize = tis.getMaxCount(); - if (maxSize > d.getMaxStackAmount()) { - maxSize = d.getMaxStackAmount(); + if (maxSize > d.getMaxItemCount()) { + maxSize = d.getMaxItemCount(); } final ItemStack tmp = tis.copy(); @@ -964,25 +964,25 @@ public abstract class AEBaseContainer extends ScreenHandler { ItemStack testB = isA.isEmpty() ? ItemStack.EMPTY : isA.copy(); // can put some back? - if (!testA.isEmpty() && testA.getCount() > a.getMaxStackAmount()) { + if (!testA.isEmpty() && testA.getCount() > a.getMaxItemCount()) { if (!testB.isEmpty()) { return; } final int totalA = testA.getCount(); - testA.setCount(a.getMaxStackAmount()); + testA.setCount(a.getMaxItemCount()); testB = testA.copy(); testB.setCount(totalA - testA.getCount()); } - if (!testB.isEmpty() && testB.getCount() > b.getMaxStackAmount()) { + if (!testB.isEmpty() && testB.getCount() > b.getMaxItemCount()) { if (!testA.isEmpty()) { return; } final int totalB = testB.getCount(); - testB.setCount(b.getMaxStackAmount()); + testB.setCount(b.getMaxItemCount()); testA = testB.copy(); testA.setCount(totalB - testA.getCount()); diff --git a/src/main/java/appeng/container/slot/AppEngSlot.java b/src/main/java/appeng/container/slot/AppEngSlot.java index db2acd614..f12815b23 100644 --- a/src/main/java/appeng/container/slot/AppEngSlot.java +++ b/src/main/java/appeng/container/slot/AppEngSlot.java @@ -126,13 +126,13 @@ public class AppEngSlot extends Slot { } @Override - public int getMaxStackAmount() { + public int getMaxItemCount() { return this.backingSlot.getMaxAmount(ItemStack.EMPTY); } @Override - public int getMaxStackAmount(@Nonnull ItemStack stack) { - return Math.min(this.getMaxStackAmount(), stack.getMaxCount()); + public int getMaxItemCount(@Nonnull ItemStack stack) { + return Math.min(this.getMaxItemCount(), stack.getMaxCount()); } @Override diff --git a/src/main/java/appeng/container/slot/RestrictedInputSlot.java b/src/main/java/appeng/container/slot/RestrictedInputSlot.java index a3e0d6d8d..b072beecf 100644 --- a/src/main/java/appeng/container/slot/RestrictedInputSlot.java +++ b/src/main/java/appeng/container/slot/RestrictedInputSlot.java @@ -80,11 +80,11 @@ public class RestrictedInputSlot extends AppEngSlot { } @Override - public int getMaxStackAmount() { + public int getMaxItemCount() { if (this.stackLimit != -1) { return this.stackLimit; } - return super.getMaxStackAmount(); + return super.getMaxItemCount(); } public boolean isValid(final ItemStack is, final World theWorld) { diff --git a/src/main/java/appeng/core/AppEngBase.java b/src/main/java/appeng/core/AppEngBase.java index 51a31fb12..0308fafcd 100644 --- a/src/main/java/appeng/core/AppEngBase.java +++ b/src/main/java/appeng/core/AppEngBase.java @@ -101,7 +101,6 @@ import appeng.worldgen.BiomeModifier; import appeng.worldgen.ChargedQuartzOreConfig; import appeng.worldgen.ChargedQuartzOreFeature; import appeng.worldgen.meteorite.MeteoriteStructure; -import appeng.worldgen.meteorite.MeteoriteStructurePiece; import net.earthcomputer.libstructure.LibStructure; import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; @@ -549,15 +548,14 @@ public abstract class AppEngBase implements AppEng { } private void registerWorldGen() { - MeteoriteStructurePiece.register(); - LibStructure.registerStructure(MeteoriteStructure.ID, MeteoriteStructure.INSTANCE, GenerationStep.Feature.TOP_LAYER_MODIFICATION, new StructureConfig(32, 8, 124895654), new MeteoriteStructure(DefaultFeatureConfig.CODEC).configure(DefaultFeatureConfig.INSTANCE)); Registry.register(Registry.FEATURE, AppEng.makeId("charged_quartz_ore"), ChargedQuartzOreFeature.INSTANCE); // add to all standard biomes - Biome.BIOMES.forEach(b -> { + // TODO: Wrong... + BuiltinRegistries.BIOME.forEach(b -> { addMeteoriteWorldGen(b); addQuartzWorldGen(b); }); @@ -612,7 +610,7 @@ public abstract class AppEngBase implements AppEng { } private void registerDimension() { - Registry.register(BuiltinRegistries.BIOME, SpatialStorageDimensionIds.BIOME_ID, SpatialStorageBiome.INSTANCE); + BuiltinRegistries.add(BuiltinRegistries.BIOME, SpatialStorageDimensionIds.BIOME_KEY.getValue(), SpatialStorageBiome.INSTANCE); Registry.register(Registry.CHUNK_GENERATOR, SpatialStorageDimensionIds.CHUNK_GENERATOR_ID, SpatialStorageChunkGenerator.CODEC); } diff --git a/src/main/java/appeng/core/config/EnumOption.java b/src/main/java/appeng/core/config/EnumOption.java index 62c25d1e1..7741afc10 100644 --- a/src/main/java/appeng/core/config/EnumOption.java +++ b/src/main/java/appeng/core/config/EnumOption.java @@ -1,7 +1,6 @@ package appeng.core.config; import java.util.Arrays; -import java.util.Locale; import java.util.stream.Collectors; import com.google.common.base.Preconditions; @@ -34,7 +33,7 @@ public class EnumOption> extends BaseOption { @Override protected JsonElement write() { - return new JsonPrimitive(currentValue.name().toLowerCase(Locale.ROOT)); + return new JsonPrimitive(currentValue.name().toLowerCase()); } @Override @@ -56,7 +55,7 @@ public class EnumOption> extends BaseOption { } } - String allowedValues = Arrays.stream(enumConstants).map(e -> e.name().toLowerCase(Locale.ROOT)) + String allowedValues = Arrays.stream(enumConstants).map(e -> e.name().toLowerCase()) .collect(Collectors.joining(", ")); throw new ConfigValidationException(this, "Expected one of: " + allowedValues); } @@ -68,12 +67,12 @@ public class EnumOption> extends BaseOption { @Override public String getDefaultAsString() { - return String.valueOf(defaultValue.name().toLowerCase(Locale.ROOT)); + return String.valueOf(defaultValue.name().toLowerCase()); } @Override public String getCurrentValueAsString() { - return String.valueOf(currentValue.name().toLowerCase(Locale.ROOT)); + return String.valueOf(currentValue.name().toLowerCase()); } } diff --git a/src/main/java/appeng/core/features/registries/WorldGenRegistry.java b/src/main/java/appeng/core/features/registries/WorldGenRegistry.java index 488300750..a5995fa5e 100644 --- a/src/main/java/appeng/core/features/registries/WorldGenRegistry.java +++ b/src/main/java/appeng/core/features/registries/WorldGenRegistry.java @@ -67,7 +67,7 @@ public final class WorldGenRegistry implements IWorldGen { throw new IllegalArgumentException("Bad Provider Passed"); } - Identifier id = w.getDimensionRegistryKey().getValue(); + Identifier id = w.getRegistryKey().getValue(); final boolean isBadDimension = this.types[type.ordinal()].badDimensions.contains(id); final boolean isGoodDimension = this.types[type.ordinal()].enabledDimensions.contains(id); diff --git a/src/main/java/appeng/core/worlddata/WorldData.java b/src/main/java/appeng/core/worlddata/WorldData.java index 975241372..43859000d 100644 --- a/src/main/java/appeng/core/worlddata/WorldData.java +++ b/src/main/java/appeng/core/worlddata/WorldData.java @@ -27,7 +27,7 @@ import com.google.common.base.Preconditions; import net.minecraft.server.MinecraftServer; import net.minecraft.server.world.ServerWorld; -import net.minecraft.world.dimension.DimensionType; +import net.minecraft.world.World; import appeng.services.CompassService; import appeng.services.compass.CompassThreadFactory; @@ -62,7 +62,7 @@ public final class WorldData implements IWorldData { Preconditions.checkNotNull(overworld); // Attach shared data to the server's overworld dimension - if (overworld.getDimension() != DimensionType.getOverworldDimensionType()) { + if (overworld.getRegistryKey() != World.OVERWORLD) { throw new IllegalStateException( "The server doesn't have an Overworld dimension we could store our data on!"); } diff --git a/src/main/java/appeng/debug/MeteoritePlacerItem.java b/src/main/java/appeng/debug/MeteoritePlacerItem.java index 0c085f743..21570a12e 100644 --- a/src/main/java/appeng/debug/MeteoritePlacerItem.java +++ b/src/main/java/appeng/debug/MeteoritePlacerItem.java @@ -34,7 +34,6 @@ import net.minecraft.util.math.BlockBox; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.WorldChunk; import appeng.hooks.AEToolItem; @@ -131,7 +130,7 @@ public class MeteoritePlacerItem extends AEBaseItem implements AEToolItem { // is a debug tool, we'll not care about being terribly efficient here ChunkPos.stream(new ChunkPos(spawned.getPos()), 2).forEach(cp -> { WorldChunk c = world.getChunk(cp.x, cp.z); - player.networkHandler.sendPacket(new ChunkDataS2CPacket(c, 65535, false)); // 65535 == full chunk + player.networkHandler.sendPacket(new ChunkDataS2CPacket(c, 65535)); // 65535 == full chunk }); return ActionResult.SUCCESS; diff --git a/src/main/java/appeng/fluids/client/gui/FluidInterfaceScreen.java b/src/main/java/appeng/fluids/client/gui/FluidInterfaceScreen.java index bc7861d40..28eeecfbe 100644 --- a/src/main/java/appeng/fluids/client/gui/FluidInterfaceScreen.java +++ b/src/main/java/appeng/fluids/client/gui/FluidInterfaceScreen.java @@ -64,10 +64,10 @@ public class FluidInterfaceScreen extends UpgradeableScreen @Override public void drawFG(MatrixStack matrices, int offsetX, int offsetY, int mouseX, int mouseY) { - this.textRenderer.method_30883(matrices, this.getGuiDisplayName(new LiteralText("Fluid Terminal")), 8, 6, + this.textRenderer.draw(matrices, this.getGuiDisplayName(new LiteralText("Fluid Terminal")), 8, 6, 4210752); - this.textRenderer.method_30883(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); + this.textRenderer.draw(matrices, GuiText.inventory.text(), 8, this.backgroundHeight - 96 + 3, 4210752); } @Override @@ -172,7 +172,7 @@ public class FluidTerminalScreen extends AEBaseMEScreen list.add(new LiteralText(formattedAmount)); list.add(new LiteralText(modName)); - this.method_30901(matrices, list, mouseX, mouseY); + this.renderTooltip(matrices, list, mouseX, mouseY); return; } diff --git a/src/main/java/appeng/fluids/client/render/FluidStackSizeRenderer.java b/src/main/java/appeng/fluids/client/render/FluidStackSizeRenderer.java index 7a9077c74..f378aec6f 100644 --- a/src/main/java/appeng/fluids/client/render/FluidStackSizeRenderer.java +++ b/src/main/java/appeng/fluids/client/render/FluidStackSizeRenderer.java @@ -24,7 +24,6 @@ import java.text.DecimalFormatSymbols; import net.minecraft.client.font.TextRenderer; import net.minecraft.text.LiteralText; -import net.minecraft.text.StringRenderable; import net.minecraft.text.Text; import appeng.api.storage.data.IAEFluidStack; diff --git a/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java b/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java index b2a6017c4..aa1ac5142 100644 --- a/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java +++ b/src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java @@ -6,6 +6,7 @@ import java.util.List; import javax.annotation.Nonnull; +import appeng.mixins.FluidTagsAccessor; import net.minecraft.block.BlockState; import net.minecraft.block.FluidDrainable; import net.minecraft.block.entity.BlockEntity; @@ -13,18 +14,13 @@ import net.minecraft.fluid.Fluid; import net.minecraft.fluid.FluidState; import net.minecraft.fluid.Fluids; import net.minecraft.item.ItemStack; -import net.minecraft.tag.FluidTags; import net.minecraft.tag.Tag; -import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; import net.minecraft.world.BlockView; import net.minecraft.world.World; -import alexiil.mc.lib.attributes.fluid.FluidAttributes; import alexiil.mc.lib.attributes.fluid.amount.FluidAmount; import alexiil.mc.lib.attributes.fluid.volume.FluidKeys; -import alexiil.mc.lib.attributes.fluid.volume.FluidVolume; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; @@ -60,8 +56,7 @@ import appeng.util.Platform; public class FluidAnnihilationPlanePart extends BasicStatePart implements IGridTickable { - public static final Identifier TAG_BLACKLIST = new Identifier(AppEng.MOD_ID, - "blacklisted/fluid_annihilation_plane"); + public static final Tag.Identified TAG_BLACKLIST = FluidTagsAccessor.register(AppEng.makeId("blacklisted/fluid_annihilation_plane").toString()); private static final PlaneModels MODELS = new PlaneModels("part/fluid_annihilation_plane", "part/fluid_annihilation_plane_on"); @@ -217,8 +212,7 @@ public class FluidAnnihilationPlanePart extends BasicStatePart implements IGridT } private boolean isFluidBlacklisted(Fluid fluid) { - Tag tag = FluidTags.getTagGroup().getTagOrEmpty(TAG_BLACKLIST); - return fluid.isIn(tag); + return fluid.isIn(TAG_BLACKLIST); } } diff --git a/src/main/java/appeng/mixins/FluidTagsAccessor.java b/src/main/java/appeng/mixins/FluidTagsAccessor.java new file mode 100644 index 000000000..906f8aabc --- /dev/null +++ b/src/main/java/appeng/mixins/FluidTagsAccessor.java @@ -0,0 +1,17 @@ +package appeng.mixins; + +import net.minecraft.fluid.Fluid; +import net.minecraft.tag.FluidTags; +import net.minecraft.tag.Tag; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(FluidTags.class) +public interface FluidTagsAccessor { + + @Invoker("register") + static Tag.Identified register(String id) { + throw new AssertionError(); + } + +} diff --git a/src/main/java/appeng/mixins/spatial/DimensionTypeMixin.java b/src/main/java/appeng/mixins/spatial/DimensionTypeMixin.java index 43aba7f7b..8a75039c8 100644 --- a/src/main/java/appeng/mixins/spatial/DimensionTypeMixin.java +++ b/src/main/java/appeng/mixins/spatial/DimensionTypeMixin.java @@ -2,10 +2,12 @@ package appeng.mixins.spatial; import appeng.spatial.SpatialStorageDimensionIds; import net.minecraft.tag.BlockTags; +import net.minecraft.util.Identifier; import net.minecraft.util.registry.DynamicRegistryManager; import net.minecraft.util.registry.Registry; import net.minecraft.world.dimension.DimensionType; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @@ -20,10 +22,15 @@ import java.util.OptionalLong; @Mixin(DimensionType.class) public class DimensionTypeMixin { + @Invoker("") + static DimensionType create(OptionalLong fixedTime, boolean hasSkylight, boolean hasCeiling, boolean ultrawarm, boolean natural, double coordinateScale, boolean piglinSafe, boolean bedWorks, boolean respawnAnchorWorks, boolean hasRaids, int logicalHeight, Identifier infiniburn, Identifier skyProperties, float ambientLight) { + throw new AssertionError(); + } + @Inject(method = "addRegistryDefaults", at = @At("TAIL")) private static void addRegistryDefaults(DynamicRegistryManager.Impl registryTracker, CallbackInfoReturnable cir) { - DimensionType dimensionType = new DimensionType(OptionalLong.of(12000), false, false, false, false, false, - false, true, false, false, 256, BlockTags.INFINIBURN_OVERWORLD.getId(), 1.0f); + DimensionType dimensionType = create(OptionalLong.of(12000), false, false, false, false, 1.0, + false, false, false, false, 256, BlockTags.INFINIBURN_OVERWORLD.getId(), SpatialStorageDimensionIds.SKY_PROPERTIES_ID, 1.0f); Registry.register(registryTracker.getDimensionTypes(), SpatialStorageDimensionIds.DIMENSION_TYPE_ID.getValue(), dimensionType); diff --git a/src/main/java/appeng/mixins/spatial/EntityMixin.java b/src/main/java/appeng/mixins/spatial/EntityMixin.java new file mode 100644 index 000000000..422a72133 --- /dev/null +++ b/src/main/java/appeng/mixins/spatial/EntityMixin.java @@ -0,0 +1,31 @@ +package appeng.mixins.spatial; + +import appeng.spatial.SpatialStorageDimensionIds; +import appeng.spatial.SpatialStorageHelper; +import net.minecraft.entity.Entity; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.world.TeleportTarget; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +/** + * This mixin sets the teleport destination, because otherwise Vanilla will not move + * the player. + */ +@Mixin(Entity.class) +public class EntityMixin { + + @Inject(method = "getTeleportTarget", at = @At("HEAD"), cancellable = true, allow = 1) + public void getTeleportTarget(ServerWorld destination, CallbackInfoReturnable cri) { + // Check if a destination has been set for the entity currently being teleported + if (destination.getRegistryKey() == SpatialStorageDimensionIds.WORLD_ID) { + TeleportTarget target = SpatialStorageHelper.getInstance().getTeleportTarget(); + if (target != null) { + cri.setReturnValue(target); + } + } + } + +} diff --git a/src/main/java/appeng/mixins/spatial/SkyPropertiesMixin.java b/src/main/java/appeng/mixins/spatial/SkyPropertiesMixin.java index 8074d481c..fa5ca3852 100644 --- a/src/main/java/appeng/mixins/spatial/SkyPropertiesMixin.java +++ b/src/main/java/appeng/mixins/spatial/SkyPropertiesMixin.java @@ -1,28 +1,25 @@ package appeng.mixins.spatial; -import java.util.Optional; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import net.minecraft.client.render.SkyProperties; -import net.minecraft.util.registry.RegistryKey; -import net.minecraft.world.dimension.DimensionType; - import appeng.spatial.SpatialStorageDimensionIds; import appeng.spatial.SpatialStorageSkyProperties; +import it.unimi.dsi.fastutil.objects.Object2ObjectMap; +import net.minecraft.client.render.SkyProperties; +import net.minecraft.util.Identifier; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(SkyProperties.class) public class SkyPropertiesMixin { - @Inject(method = "byDimensionType", at = @At("HEAD"), cancellable = true) - private static void byDimensionType(Optional> optional, - CallbackInfoReturnable ci) { - if (optional.orElse(null) == SpatialStorageDimensionIds.DIMENSION_TYPE_ID) { - ci.setReturnValue(SpatialStorageSkyProperties.INSTANCE); - } + @Shadow + private static Object2ObjectMap BY_IDENTIFIER; + + @Inject(method = "", at = @At("TAIL")) + private static void init(CallbackInfo ci) { + BY_IDENTIFIER.put(SpatialStorageDimensionIds.SKY_PROPERTIES_ID, SpatialStorageSkyProperties.INSTANCE); } } diff --git a/src/main/java/appeng/server/subcommands/SpatialStorageCommand.java b/src/main/java/appeng/server/subcommands/SpatialStorageCommand.java index f0f0e3b9a..7512b3ed6 100644 --- a/src/main/java/appeng/server/subcommands/SpatialStorageCommand.java +++ b/src/main/java/appeng/server/subcommands/SpatialStorageCommand.java @@ -91,7 +91,7 @@ public class SpatialStorageCommand implements ISubCommand { private void teleportBack(ServerCommandSource source) { if (source.getWorld().getRegistryKey() != SpatialStorageDimensionIds.WORLD_ID) { - throw new CommandException(Text.method_30163("Must be within the spatial storage world.")); + throw new CommandException(Text.of("Must be within the spatial storage world.")); } BlockPos playerPos = new BlockPos(source.getPosition()); @@ -110,7 +110,7 @@ public class SpatialStorageCommand implements ISubCommand { } } - throw new CommandException(Text.method_30163("Couldn't find a plot for the current position.")); + throw new CommandException(Text.of("Couldn't find a plot for the current position.")); } @@ -121,7 +121,7 @@ public class SpatialStorageCommand implements ISubCommand { TransitionInfo lastTransition = plot.getLastTransition(); if (lastTransition == null) { throw new CommandException( - Text.method_30163("This plot doesn't have a last known transition.")); + Text.of("This plot doesn't have a last known transition.")); } String command = getTeleportCommand(lastTransition.getWorldId(), lastTransition.getMin().add(0, 1, 0)); @@ -181,7 +181,7 @@ public class SpatialStorageCommand implements ISubCommand { sendKeyValuePair(source, "Source", sourceLink); sendKeyValuePair(source, "When", lastTransition.getTimestamp().toString()); } else { - source.sendFeedback(Text.method_30163("Last Transition unknown"), true); + source.sendFeedback(Text.of("Last Transition unknown"), true); } } @@ -212,7 +212,7 @@ public class SpatialStorageCommand implements ISubCommand { if (!(cell.getItem() instanceof SpatialStorageCellItem)) { throw new CommandException( - Text.method_30163("Storage cell items don't implement the storage cell interface!")); + Text.of("Storage cell items don't implement the storage cell interface!")); } SpatialStorageCellItem spatialCellItem = (SpatialStorageCellItem) cell.getItem(); @@ -267,7 +267,7 @@ public class SpatialStorageCommand implements ISubCommand { return style -> style.withFormatting(Formatting.UNDERLINE) .withClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, command) ) - .withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Text.method_30163(tooltip))); + .withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Text.of(tooltip))); } @@ -283,7 +283,7 @@ public class SpatialStorageCommand implements ISubCommand { private static SpatialStoragePlot getPlot(int plotId) { SpatialStoragePlot plot = SpatialStoragePlotManager.INSTANCE.getPlot(plotId); if (plot == null) { - throw new CommandException(Text.method_30163("Plot not found: " + plotId)); + throw new CommandException(Text.of("Plot not found: " + plotId)); } return plot; } @@ -296,7 +296,7 @@ public class SpatialStorageCommand implements ISubCommand { } private static void sendKeyValuePair(ServerCommandSource source, String label, String value) { - sendKeyValuePair(source, label, Text.method_30163(value)); + sendKeyValuePair(source, label, Text.of(value)); } /** @@ -304,7 +304,7 @@ public class SpatialStorageCommand implements ISubCommand { */ private static SpatialStoragePlot getCurrentPlot(ServerCommandSource source) { if (source.getWorld().getRegistryKey() != SpatialStorageDimensionIds.WORLD_ID) { - throw new CommandException(Text.method_30163("Must be within the spatial storage world.")); + throw new CommandException(Text.of("Must be within the spatial storage world.")); } BlockPos playerPos = new BlockPos(source.getPosition()); @@ -321,7 +321,7 @@ public class SpatialStorageCommand implements ISubCommand { } } - throw new CommandException(Text.method_30163("Couldn't find a plot for the current position.")); + throw new CommandException(Text.of("Couldn't find a plot for the current position.")); } } diff --git a/src/main/java/appeng/spatial/CachedPlane.java b/src/main/java/appeng/spatial/CachedPlane.java index 5bce30898..21c484fd8 100644 --- a/src/main/java/appeng/spatial/CachedPlane.java +++ b/src/main/java/appeng/spatial/CachedPlane.java @@ -326,7 +326,7 @@ public class CachedPlane { WorldData.instance().compassData().service().updateArea((ServerWorld) this.getWorld(), c); // FIXME this was sending chunks to players... - ChunkDataS2CPacket cdp = new ChunkDataS2CPacket(c, verticalBits, false); + ChunkDataS2CPacket cdp = new ChunkDataS2CPacket(c, verticalBits); world.getChunkManager().threadedAnvilChunkStorage .getPlayersWatchingChunk(c.getPos(), false).forEach(spe -> spe.networkHandler.sendPacket(cdp)); diff --git a/src/main/java/appeng/spatial/SpatialStorageBiome.java b/src/main/java/appeng/spatial/SpatialStorageBiome.java index a1bb4d86f..974fb3181 100644 --- a/src/main/java/appeng/spatial/SpatialStorageBiome.java +++ b/src/main/java/appeng/spatial/SpatialStorageBiome.java @@ -30,7 +30,7 @@ import net.minecraft.world.gen.surfacebuilder.SurfaceBuilder; */ public class SpatialStorageBiome { - public static final Biome INSTANCE = new Biome.Settings() + public static final Biome INSTANCE = new Biome.Builder() .generationSettings(new GenerationSettings.Builder() .surfaceBuilder(new ConfiguredSurfaceBuilder<>(SurfaceBuilder.NOPE, SurfaceBuilder.STONE_CONFIG)) .build()) @@ -39,6 +39,6 @@ public class SpatialStorageBiome { .temperature(0.5F).downfall(0.5F) .effects(new BiomeEffects.Builder().waterColor(4159204).waterFogColor(329011).fogColor(0).skyColor(0x111111) .build()) - .parent(null).spawnSettings(new SpawnSettings.Builder().creatureSpawnProbability(0).build()).build(); + .spawnSettings(new SpawnSettings.Builder().creatureSpawnProbability(0).build()).build(); } diff --git a/src/main/java/appeng/spatial/SpatialStorageChunkGenerator.java b/src/main/java/appeng/spatial/SpatialStorageChunkGenerator.java index 620850b92..9d61c1b95 100644 --- a/src/main/java/appeng/spatial/SpatialStorageChunkGenerator.java +++ b/src/main/java/appeng/spatial/SpatialStorageChunkGenerator.java @@ -18,21 +18,18 @@ package appeng.spatial; -import java.util.Arrays; -import java.util.Collections; -import java.util.Optional; - +import appeng.core.Api; import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; - import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryLookupCodec; import net.minecraft.world.BlockView; import net.minecraft.world.ChunkRegion; import net.minecraft.world.Heightmap; import net.minecraft.world.WorldAccess; +import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.source.BiomeAccess; -import net.minecraft.world.biome.source.BiomeSource; import net.minecraft.world.biome.source.FixedBiomeSource; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.gen.GenerationStep; @@ -41,25 +38,34 @@ import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.chunk.StructuresConfig; import net.minecraft.world.gen.chunk.VerticalBlockSample; -import appeng.core.Api; +import java.util.Arrays; +import java.util.Collections; +import java.util.Optional; /** * Chunk generator the spatial storage world. */ public class SpatialStorageChunkGenerator extends ChunkGenerator { + /** + * This codec is necessary to restore the actual instance of the Biome we use, + * since it is sources from the dynamic registries and must be the same object as in the registry!. + *

If it was not the same object, then the Object->ID lookup would fail since it uses an identity hashmap + * internally. + */ + public static final Codec CODEC + = RegistryLookupCodec.of(Registry.BIOME_KEY).xmap(SpatialStorageChunkGenerator::new, SpatialStorageChunkGenerator::getBiomeRegistry).stable().codec(); + + private final Registry biomeRegistry; + private final VerticalBlockSample columnSample; - public static final SpatialStorageChunkGenerator INSTANCE = new SpatialStorageChunkGenerator(); - - public static final Codec CODEC = RecordCodecBuilder - .create((instance) -> instance.stable(INSTANCE)); - private final BlockState defaultBlockState; - private SpatialStorageChunkGenerator() { - super(createBiomeProvider(), createSettings()); + private SpatialStorageChunkGenerator(Registry biomeRegistry) { + super(createBiomeSource(biomeRegistry), createSettings()); this.defaultBlockState = Api.instance().definitions().blocks().matrixFrame().block().getDefaultState(); + this.biomeRegistry = biomeRegistry; // Vertical sample is mostly used for Feature generation, for those purposes // we're all filled with matrix blocks @@ -68,13 +74,18 @@ public class SpatialStorageChunkGenerator extends ChunkGenerator { this.columnSample = new VerticalBlockSample(columnSample); } + @Override protected Codec getCodec() { return CODEC; } - private static BiomeSource createBiomeProvider() { - return new FixedBiomeSource(SpatialStorageBiome.INSTANCE); + private static FixedBiomeSource createBiomeSource(Registry biomeRegistry) { + return new FixedBiomeSource(biomeRegistry.method_31140(SpatialStorageDimensionIds.BIOME_KEY)); + } + + public Registry getBiomeRegistry() { + return biomeRegistry; } private static StructuresConfig createSettings() { diff --git a/src/main/java/appeng/spatial/SpatialStorageDimensionIds.java b/src/main/java/appeng/spatial/SpatialStorageDimensionIds.java index 5962f6814..ac70b687d 100644 --- a/src/main/java/appeng/spatial/SpatialStorageDimensionIds.java +++ b/src/main/java/appeng/spatial/SpatialStorageDimensionIds.java @@ -5,6 +5,7 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.RegistryKey; import net.minecraft.world.World; +import net.minecraft.world.biome.Biome; import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.dimension.DimensionType; @@ -31,7 +32,7 @@ public final class SpatialStorageDimensionIds { * ID of the {@link net.minecraft.world.biome.Biome} used for the spatial * storage world. */ - public static final Identifier BIOME_ID = AppEng.makeId("spatial_storage"); + public static final RegistryKey BIOME_KEY = RegistryKey.of(Registry.BIOME_KEY, AppEng.makeId("spatial_storage")); /** * ID of the {@link DimensionOptions} used for the spatial storage dimension. @@ -49,6 +50,11 @@ public final class SpatialStorageDimensionIds { public static final RegistryKey WORLD_ID = RegistryKey.of(Registry.DIMENSION, AppEng.makeId("spatial_storage")); + /** + * ID of the {@link net.minecraft.client.render.SkyProperties} used for the spatial storage world. + */ + public static Identifier SKY_PROPERTIES_ID = AppEng.makeId("spatial_storage"); + private SpatialStorageDimensionIds() { } diff --git a/src/main/java/appeng/spatial/SpatialStorageHelper.java b/src/main/java/appeng/spatial/SpatialStorageHelper.java index ad5f0866f..b97cd61e1 100644 --- a/src/main/java/appeng/spatial/SpatialStorageHelper.java +++ b/src/main/java/appeng/spatial/SpatialStorageHelper.java @@ -18,9 +18,9 @@ package appeng.spatial; -import java.util.ArrayList; -import java.util.List; - +import appeng.api.util.WorldCoord; +import appeng.core.Api; +import appeng.core.AppEng; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; @@ -30,15 +30,13 @@ import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; import net.minecraft.util.math.MathHelper; -import net.minecraft.util.registry.Registry; -import net.minecraft.util.registry.RegistryKey; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.TeleportTarget; import net.minecraft.world.World; import net.minecraft.world.chunk.ChunkStatus; -import net.minecraft.world.dimension.DimensionType; -import appeng.api.util.WorldCoord; -import appeng.core.Api; -import appeng.core.AppEng; +import java.util.ArrayList; +import java.util.List; public class SpatialStorageHelper { @@ -51,12 +49,20 @@ public class SpatialStorageHelper { return instance; } + private final ThreadLocal teleportTarget = new ThreadLocal<>(); + + /** + * If an entity is currently being teleported, this will return the target within the target dimension. + */ + public TeleportTarget getTeleportTarget() { + return teleportTarget.get(); + } + /** * Mostly from dimensional doors.. which mostly got it form X-Comp. * * @param entity to be teleported entity * @param link destination - * * @return teleported entity */ private Entity teleportEntity(Entity entity, final TelDestination link) { @@ -99,16 +105,20 @@ public class SpatialStorageHelper { ChunkStatus.FULL, true); if (entity instanceof ServerPlayerEntity - && link.dim.getDimensionRegistryKey() == SpatialStorageDimensionIds.DIMENSION_TYPE_ID) { + && link.dim.getRegistryKey() == SpatialStorageDimensionIds.WORLD_ID) { AppEng.instance().getAdvancementTriggers().getSpatialExplorer().trigger((ServerPlayerEntity) entity); } - // FIXME FABRIC new METeleporter(link) - float yaw = entity.yaw; - entity = entity.moveToWorld(link.dim); - entity.yaw = yaw; - entity.refreshPositionAfterTeleport(link.x, link.y, link.z); - entity.setVelocity(0, 0, 0); + // Store in a threadlocal so that EntityMixin can return it for the Vanilla logic to use + teleportTarget.set(new TeleportTarget(new Vec3d(link.x, link.y, link.z), + Vec3d.ZERO, + entity.yaw, + entity.pitch)); + try { + entity = entity.moveToWorld(link.dim); + } finally { + teleportTarget.remove(); + } if (!passengersOnOtherSide.isEmpty()) { for (Entity passanger : passengersOnOtherSide) { diff --git a/src/main/java/appeng/spatial/SpatialStoragePlotManager.java b/src/main/java/appeng/spatial/SpatialStoragePlotManager.java index 4776869bb..ec9a6ae94 100644 --- a/src/main/java/appeng/spatial/SpatialStoragePlotManager.java +++ b/src/main/java/appeng/spatial/SpatialStoragePlotManager.java @@ -30,6 +30,7 @@ import net.minecraft.util.math.BlockPos; import appeng.core.AELog; import appeng.core.Api; +import net.minecraft.world.TeleportTarget; /** * Allocates and manages plots for spatial storage in the spatial storage world. diff --git a/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java b/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java index 60a35eaa8..78f588d6a 100644 --- a/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java +++ b/src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java @@ -121,7 +121,8 @@ public class MeteoriteStructureStart extends StructureStart= 1) { // 50% chance to actually spawn as lava final boolean lava = random.nextFloat() > .5f; @@ -161,7 +162,7 @@ public class MeteoriteStructureStart extends StructureStart= 0.2) { // 75% chance to actually spawn with a crater lake final boolean lake = random.nextFloat() > .25f; // 20% to spawn with lava @@ -187,7 +188,7 @@ public class MeteoriteStructureStart extends StructureStart .25f; // 5% to spawn with lava diff --git a/src/main/resources/appliedenergistics2.accesswidener b/src/main/resources/appliedenergistics2.accesswidener index 6b586257b..65c854487 100644 --- a/src/main/resources/appliedenergistics2.accesswidener +++ b/src/main/resources/appliedenergistics2.accesswidener @@ -20,3 +20,4 @@ accessible method net/minecraft/data/server/BlockLootTableGenerator applyExplosi accessible method net/minecraft/world/dimension/DimensionType (Ljava/util/OptionalLong;ZZZZZZZZZILnet/minecraft/util/Identifier;F)V accessible method net/minecraft/recipe/RecipeManager getAllOfType (Lnet/minecraft/recipe/RecipeType;)Ljava/util/Map; + diff --git a/src/main/resources/appliedenergistics2.mixins.json b/src/main/resources/appliedenergistics2.mixins.json index 78b2e3200..c11ec68f9 100644 --- a/src/main/resources/appliedenergistics2.mixins.json +++ b/src/main/resources/appliedenergistics2.mixins.json @@ -6,6 +6,7 @@ "mixins": [ "spatial.DimensionTypeMixin", "spatial.DimensionOptionMixin", + "spatial.EntityMixin", "CriteriaRegisterMixin", "RemainderSetter", "ScreenHandlerListeners", @@ -16,7 +17,8 @@ "GenerationSettingsAccessor", "BiomeAccessor", "ServerWorldCustomItemEntityMixin", - "HopperMixin" + "HopperMixin", + "FluidTagsAccessor" ], "client": [ "spatial.SkyRenderMixin", diff --git a/src/main/resources/data/minecraft/dimension/appliedenergistics2/spatial_storage.json b/src/main/resources/data/appliedenergistics2/dimension/spatial_storage.json similarity index 100% rename from src/main/resources/data/minecraft/dimension/appliedenergistics2/spatial_storage.json rename to src/main/resources/data/appliedenergistics2/dimension/spatial_storage.json diff --git a/src/main/resources/data/appliedenergistics2/recipes/misc/seeds_nether.json b/src/main/resources/data/appliedenergistics2/recipes/misc/seeds_nether.json index da89ff501..3ca9815c7 100644 --- a/src/main/resources/data/appliedenergistics2/recipes/misc/seeds_nether.json +++ b/src/main/resources/data/appliedenergistics2/recipes/misc/seeds_nether.json @@ -9,7 +9,7 @@ "tag": "c:sand_blocks" }, { - "tag": "forge:dusts/quartz" + "tag": "c:quartz_dusts" } ] } diff --git a/src/main/resources/data/appliedenergistics2/recipes/smelting/silicon.json b/src/main/resources/data/appliedenergistics2/recipes/smelting/silicon.json index 220949767..172441dc0 100644 --- a/src/main/resources/data/appliedenergistics2/recipes/smelting/silicon.json +++ b/src/main/resources/data/appliedenergistics2/recipes/smelting/silicon.json @@ -3,7 +3,7 @@ "result": "appliedenergistics2:silicon", "ingredient": [ { - "tag": "c:dusts/quartz" + "tag": "c:quartz_dusts" }, { "tag": "appliedenergistics2:dusts/certus_quartz" diff --git a/src/main/resources/data/appliedenergistics2/tags/items/dusts/quartz.json b/src/main/resources/data/appliedenergistics2/tags/items/dusts/quartz.json index 786903bce..6bca4dd65 100644 --- a/src/main/resources/data/appliedenergistics2/tags/items/dusts/quartz.json +++ b/src/main/resources/data/appliedenergistics2/tags/items/dusts/quartz.json @@ -1,3 +1,3 @@ { - "values": ["#appliedenergistics2:dusts/certus_quartz", "#forge:dusts/quartz"] + "values": ["#appliedenergistics2:dusts/certus_quartz", "#c:quartz_dusts"] }