From c31e21819794ea04d51dcb52bd4544f7249743c8 Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Fri, 13 Sep 2024 16:36:22 +0200 Subject: [PATCH] RTG crash fix (hopefully) resolves #185 and #189 --- .../biome/rtg/WorldChunkManagerRTGMixin.java | 41 +++++++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 1 + 2 files changed, 42 insertions(+) create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/rtg/WorldChunkManagerRTGMixin.java diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/rtg/WorldChunkManagerRTGMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/rtg/WorldChunkManagerRTGMixin.java new file mode 100644 index 0000000..8002bdb --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/rtg/WorldChunkManagerRTGMixin.java @@ -0,0 +1,41 @@ +/* + * EndlessIDs + * + * Copyright (C) 2022-2024 FalsePattern + * All Rights Reserved + * + * The above copyright notice, this permission notice and the words "MEGA" + * shall be included in all copies or substantial portions of the Software. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.falsepattern.endlessids.mixin.mixins.common.biome.rtg; + +import com.falsepattern.endlessids.constants.ExtendedConstants; +import com.falsepattern.endlessids.constants.VanillaConstants; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; +import rtg.world.biome.WorldChunkManagerRTG; + +@Mixin(WorldChunkManagerRTG.class) +public abstract class WorldChunkManagerRTGMixin { + @ModifyConstant(method = "getRainfall", + constant = @Constant(intValue = VanillaConstants.biomeIDMask), + require = 2) + private int extendBiomes(int constant) { + return ExtendedConstants.biomeIDMask; + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java index 1672ce5..5cc7755 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -192,6 +192,7 @@ public enum Mixin implements IMixin { //region RTG RTGChunkProviderRTGMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RTG)), "biome.rtg.ChunkProviderRTGMixin"), RTGLandscapeGeneratorMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RTG)), "biome.rtg.LandscapeGeneratorMixin"), + RTGWorldChunkManagerRTGMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RTG)), "biome.rtg.WorldChunkManagerRTGMixin"), //endregion RTG //region RWG RWGChunkGeneratorRealisticMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RWG)), "biome.rwg.ChunkGeneratorRealisticMixin"),