Also update the layer-map, even though the spatial biome should never show up in any vanilla layering.
This commit is contained in:
@@ -1,13 +1,21 @@
|
|||||||
package appeng.mixins.spatial;
|
package appeng.mixins.spatial;
|
||||||
|
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
import net.minecraft.util.registry.BuiltinRegistries;
|
import net.minecraft.util.registry.BuiltinRegistries;
|
||||||
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
|
import net.minecraft.world.biome.Biome;
|
||||||
import net.minecraft.world.biome.Biomes;
|
import net.minecraft.world.biome.Biomes;
|
||||||
|
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||||
|
|
||||||
import appeng.spatial.SpatialStorageBiome;
|
import appeng.spatial.SpatialStorageBiome;
|
||||||
import appeng.spatial.SpatialStorageDimensionIds;
|
import appeng.spatial.SpatialStorageDimensionIds;
|
||||||
|
|
||||||
@@ -18,10 +26,21 @@ import appeng.spatial.SpatialStorageDimensionIds;
|
|||||||
@Mixin(Biomes.class)
|
@Mixin(Biomes.class)
|
||||||
public class BiomesMixin {
|
public class BiomesMixin {
|
||||||
|
|
||||||
|
@Unique
|
||||||
|
private static final Logger LOGGER = LogManager.getLogger();
|
||||||
|
|
||||||
|
@Shadow
|
||||||
|
private static Int2ObjectMap<RegistryKey<Biome>> BIOMES;
|
||||||
|
|
||||||
@Inject(method = "<clinit>", at = @At("TAIL"))
|
@Inject(method = "<clinit>", at = @At("TAIL"))
|
||||||
private static void registerBiomes(CallbackInfo ci) {
|
private static void registerBiomes(CallbackInfo ci) {
|
||||||
BuiltinRegistries.add(BuiltinRegistries.BIOME, SpatialStorageDimensionIds.BIOME_KEY.getValue(),
|
BuiltinRegistries.add(BuiltinRegistries.BIOME, SpatialStorageDimensionIds.BIOME_KEY.getValue(),
|
||||||
SpatialStorageBiome.INSTANCE);
|
SpatialStorageBiome.INSTANCE);
|
||||||
|
int rawId = BuiltinRegistries.BIOME.getRawId(SpatialStorageBiome.INSTANCE);
|
||||||
|
RegistryKey<Biome> prev = BIOMES.put(rawId, SpatialStorageDimensionIds.BIOME_KEY);
|
||||||
|
if (prev != null) {
|
||||||
|
LOGGER.warn("Biome with raw-id {} was already registered: {}", rawId, prev);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user