From e2350650d0c339f0087ffc6cd38ced917c125777 Mon Sep 17 00:00:00 2001 From: dfsek Date: Sun, 17 Apr 2022 20:41:55 -0700 Subject: [PATCH] fix structure location --- .../fabric/generation/TerraBiomeSource.java | 2 +- .../com/dfsek/terra/fabric/mixin/Test.java | 36 +++++++++++++++++++ .../terra/fabric/util/ProtoPlatformBiome.java | 2 +- .../src/main/resources/terra.mixins.json | 5 +-- 4 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/Test.java diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java index becff4612..1db0a7fb2 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java @@ -44,7 +44,7 @@ public class TerraBiomeSource extends BiomeSource { .stream(pack.getBiomeProvider() .getBiomes() .spliterator(), false) - .map(b -> ((ProtoPlatformBiome) b.getPlatformBiome()).get(biomes))); + .map(b -> ((ProtoPlatformBiome) b.getPlatformBiome()).getDelegate())); this.biomeRegistry = biomes; this.seed = seed; this.pack = pack; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/Test.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/Test.java new file mode 100644 index 000000000..b0508df53 --- /dev/null +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/Test.java @@ -0,0 +1,36 @@ +package com.dfsek.terra.fabric.mixin; + +import com.dfsek.terra.api.world.biome.Biome; + +import net.minecraft.entity.SpawnGroup; +import net.minecraft.util.registry.RegistryEntryList; +import net.minecraft.world.StructureSpawns; +import net.minecraft.world.gen.chunk.ChunkGenerator; +import net.minecraft.world.gen.feature.FeatureConfig; +import net.minecraft.world.gen.feature.StructureFeature; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.Collection; +import java.util.Collections; +import java.util.Map; +import java.util.Set; + + +@Mixin(ChunkGenerator.class) +public class Test> { + + @Redirect(method = "Lnet/minecraft/world/gen/chunk/ChunkGenerator;locateStructure(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/registry/RegistryEntryList;Lnet/minecraft/util/math/BlockPos;IZ)Lcom/mojang/datafixers/util/Pair;", at = @At(value = "INVOKE", target = "Ljava/util/Set;isEmpty()Z")) + private boolean inject(Set instance) { + System.out.println("Biome Set: " + instance); + return instance.isEmpty(); + } + + @Redirect(method = "Lnet/minecraft/world/gen/chunk/ChunkGenerator;locateStructure(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/registry/RegistryEntryList;Lnet/minecraft/util/math/BlockPos;IZ)Lcom/mojang/datafixers/util/Pair;", at = @At(value = "INVOKE", target = "Ljava/util/Collections;disjoint(Ljava/util/Collection;Ljava/util/Collection;)Z")) + private boolean inject2(Collection c, Collection c2) { + System.out.println("Biome Source Set: " + c); + return Collections.disjoint(c, c2); + } +} diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoPlatformBiome.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoPlatformBiome.java index d80166223..e710dff91 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoPlatformBiome.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoPlatformBiome.java @@ -46,7 +46,7 @@ public class ProtoPlatformBiome implements PlatformBiome { } public RegistryEntry getDelegate() { - return Objects.requireNonNull(delegate); + return delegate; } public void setDelegate(RegistryEntry delegate) { diff --git a/platforms/fabric/src/main/resources/terra.mixins.json b/platforms/fabric/src/main/resources/terra.mixins.json index 56a60a809..5f68a5a8e 100644 --- a/platforms/fabric/src/main/resources/terra.mixins.json +++ b/platforms/fabric/src/main/resources/terra.mixins.json @@ -4,6 +4,7 @@ "package": "com.dfsek.terra.fabric.mixin", "compatibilityLevel": "JAVA_16", "mixins": [ + "Test", "access.BiomeEffectsAccessor", "access.MobSpawnerLogicAccessor", "access.StateAccessor", @@ -32,9 +33,9 @@ "implementations.inventory.meta.ItemStackMetaMixin", "implementations.world.ChunkRegionMixin", "implementations.world.ServerWorldMixin", - "lifecycle.RegistryMixin", "lifecycle.DataPackContentsMixin", - "lifecycle.MinecraftServerMixin" + "lifecycle.MinecraftServerMixin", + "lifecycle.RegistryMixin" ], "client": [ "access.GeneratorTypeAccessor",