From 63dfded45f3520f19878dd234aa131c42da3d4b0 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sun, 17 May 2020 13:50:14 +0800 Subject: [PATCH] Add missing constructor for DimensionType --- .../world/dimension/DimensionTypeMixin.java | 27 +++++++++++++++++++ .../arclight/mod/ArclightMixinPlugin.java | 1 + .../main/resources/mixins.arclight.core.json | 1 + 3 files changed, 29 insertions(+) create mode 100644 arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/dimension/DimensionTypeMixin.java diff --git a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/dimension/DimensionTypeMixin.java b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/dimension/DimensionTypeMixin.java new file mode 100644 index 00000000..2657863f --- /dev/null +++ b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/dimension/DimensionTypeMixin.java @@ -0,0 +1,27 @@ +package io.izzel.arclight.mixin.core.world.dimension; + +import net.minecraft.world.World; +import net.minecraft.world.dimension.Dimension; +import net.minecraft.world.dimension.DimensionType; +import org.spongepowered.asm.mixin.Mixin; + +import java.util.function.BiFunction; + +@Mixin(DimensionType.class) +public class DimensionTypeMixin { + + protected void arclight$constructor(int idIn, String suffixIn, String directoryIn, BiFunction p_i49935_4_, boolean p_i49935_5_) { + throw new RuntimeException(); + } + + public void arclight$constructor(int idIn, String suffixIn, String directoryIn, BiFunction p_i49935_4_, boolean p_i49935_5_, DimensionType type) { + arclight$constructor(idIn, suffixIn, directoryIn, p_i49935_4_, p_i49935_5_); + this.type = type; + } + + private DimensionType type; + + public DimensionType getType() { + return (type == null) ? (DimensionType) (Object) this : type; + } +} diff --git a/arclight-coremod/src/main/java/io/izzel/arclight/mod/ArclightMixinPlugin.java b/arclight-coremod/src/main/java/io/izzel/arclight/mod/ArclightMixinPlugin.java index df021e02..1341605f 100644 --- a/arclight-coremod/src/main/java/io/izzel/arclight/mod/ArclightMixinPlugin.java +++ b/arclight-coremod/src/main/java/io/izzel/arclight/mod/ArclightMixinPlugin.java @@ -110,6 +110,7 @@ public class ArclightMixinPlugin implements IMixinConfigPlugin { .add("net.minecraft.world.TrackedEntity") .add("net.minecraft.util.math.shapes.IndirectMerger") .add("net.minecraft.network.play.client.CCloseWindowPacket") + .add("net.minecraft.world.dimension.DimensionType") .build(); @Override diff --git a/arclight-coremod/src/main/resources/mixins.arclight.core.json b/arclight-coremod/src/main/resources/mixins.arclight.core.json index 92d82736..eae84b96 100644 --- a/arclight-coremod/src/main/resources/mixins.arclight.core.json +++ b/arclight-coremod/src/main/resources/mixins.arclight.core.json @@ -359,6 +359,7 @@ "world.chunk.ChunkMixin", "world.chunk.storage.RegionFileCacheMixin", "world.dimension.DimensionMixin", + "world.dimension.DimensionTypeMixin", "world.gen.WorldGenRegionMixin", "world.gen.feature.structure.SwampHutPieceMixin", "world.raid.RaidManagerMixin",