Skip to content

Commit

Permalink
ThutCore/ThutMods compat (#175)
Browse files Browse the repository at this point in the history
  • Loading branch information
FalsePattern committed Jun 9, 2024
1 parent 098254d commit 2acbb60
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ This mod also contains patches for the following mods:
- Realistic World Generation
- Thaumcraft
- The Lord of the Rings Mod: Legacy
- ThutCore/ThutMods
- Tropicraft
- Twilight Forest
- Underground Biomes Constructs
Expand Down
4 changes: 4 additions & 0 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ dependencies {
//Thaumcraft 4.2.3.5
compileOnly(deobfCurse("thaumcraft-223628:2227552"))

//ThutCore 2.0
//Only available on dropbox
compileOnly(deobf("https://mvn.falsepattern.com/releases/mirror/mirror/thutcore-2.0.jar"))

//Tropicraft 6.0.5
//This is from a mirror file, because the file on curseforge is a zip containing other files too.
//Source: https://www.curseforge.com/minecraft/mc-mods/tropicraft/files/2353906
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.falsepattern.endlessids.mixin.mixins.common.biome.thut;

import com.falsepattern.endlessids.mixin.helpers.ChunkBiomeHook;
import lombok.val;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import thut.api.maths.Vector3;

import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.Chunk;

@Mixin(value = Vector3.class,
remap = false)
public abstract class Vector3Mixin {

@Shadow public abstract int intX();

@Shadow public abstract int intZ();

/**
* @author FalsePattern
* @reason ID Extension
*/
@Overwrite
public void setBiome(BiomeGenBase biome, World worldObj) {
int x = this.intX();
int z = this.intZ();
Chunk chunk = worldObj.getChunkFromBlockCoords(x, z);
val chunkHook = (ChunkBiomeHook) chunk;
short[] biomes = chunkHook.getBiomeShortArray();
short newBiome = (short)biome.biomeID;
int chunkX = Math.abs(x & 15);
int chunkZ = Math.abs(z & 15);
int point = chunkX + 16 * chunkZ;
if (biomes[point] != newBiome) {
biomes[point] = newBiome;
chunkHook.setBiomeShortArray(biomes);
chunk.setChunkModified();
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,9 @@ public enum Mixin implements IMixin {
//region Thaumcraft
ThaumcraftUtilsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.THAUMCRAFT)), "biome.thaumcraft.UtilsMixin"),
//endregion Thaumcraft
//region ThutCore
ThutVector3Mixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.THUTCORE)), "biome.thut.Vector3Mixin"),
//endregion ThutCore
//region Tropicraft
GenLayerTropiVoronoiZoomMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.TROPICRAFT)), "biome.tropicraft.GenLayerTropiVoronoiZoomMixin"),
//endregion Tropicraft
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public enum TargetedMod implements ITargetedMod {
RTG("Realistic Terrain Generation", false, startsWith("rtg-")),
RWG("Realistic World Gen", false, startsWith("rwg-")),
THAUMCRAFT("Thaumcraft", false, startsWith("thaumcraft")),
THUTCORE("ThutCore", false, startsWith("thutcore-").or(startsWith("thutmods-"))),
TROPICRAFT("Tropicraft", false, startsWith("tropicraft-")),
TWILIGHTFOREST("Twilight Forest", false, startsWith("twilightforest")),
UBC("Underground Biomes Constructs", false, startsWith("undergroundbiomesconstructs-")),
Expand Down

0 comments on commit 2acbb60

Please sign in to comment.