mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-04 00:45:57 +00:00
add mixin to inject flora
This commit is contained in:
parent
ee336b01a6
commit
ded308c01c
@ -17,6 +17,7 @@ import net.minecraft.world.gen.chunk.ChunkGeneratorSettings;
|
|||||||
import org.checkerframework.checker.units.qual.C;
|
import org.checkerframework.checker.units.qual.C;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
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.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -28,7 +29,6 @@ import com.dfsek.terra.lifecycle.util.LifecycleUtil;
|
|||||||
|
|
||||||
@Mixin(RegistryLoader.class)
|
@Mixin(RegistryLoader.class)
|
||||||
public class RegistryLoaderMixin {
|
public class RegistryLoaderMixin {
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
@Redirect(
|
@Redirect(
|
||||||
method = "load(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/registry/DynamicRegistryManager;Ljava/util/List;)" +
|
method = "load(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/registry/DynamicRegistryManager;Ljava/util/List;)" +
|
||||||
"Lnet/minecraft/registry/DynamicRegistryManager$Immutable;",
|
"Lnet/minecraft/registry/DynamicRegistryManager$Immutable;",
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.dfsek.terra.lifecycle.mixin.lifecycle;
|
||||||
|
|
||||||
|
import com.dfsek.terra.lifecycle.util.LifecycleUtil;
|
||||||
|
|
||||||
|
import com.dfsek.terra.mod.util.MinecraftUtil;
|
||||||
|
|
||||||
|
import net.minecraft.registry.DynamicRegistryManager;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
import net.minecraft.server.SaveLoading;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
||||||
|
|
||||||
|
|
||||||
|
@Mixin(SaveLoading.class)
|
||||||
|
public class SaveLoadingMixin {
|
||||||
|
@ModifyArg(
|
||||||
|
method = "method_42097(Lnet/minecraft/registry/DynamicRegistryManager$Immutable;" +
|
||||||
|
"Lnet/minecraft/server/SaveLoading$SaveApplierFactory;Lnet/minecraft/resource/LifecycledResourceManager;" +
|
||||||
|
"Lnet/minecraft/registry/CombinedDynamicRegistries;Lnet/minecraft/server/SaveLoading$LoadContext;" +
|
||||||
|
"Lnet/minecraft/server/DataPackContents;)Ljava/lang/Object;",
|
||||||
|
at = @At(
|
||||||
|
value = "INVOKE",
|
||||||
|
target = "Lnet/minecraft/server/DataPackContents;refresh(Lnet/minecraft/registry/DynamicRegistryManager;)V"
|
||||||
|
),
|
||||||
|
index = 0
|
||||||
|
)
|
||||||
|
private static DynamicRegistryManager grabManager(DynamicRegistryManager in) {
|
||||||
|
MinecraftUtil.registerFlora(in.get(RegistryKeys.BIOME));
|
||||||
|
return in;
|
||||||
|
}
|
||||||
|
}
|
@ -1,22 +1,23 @@
|
|||||||
{
|
{
|
||||||
"required" : true,
|
"required": true,
|
||||||
"minVersion" : "0.8",
|
"minVersion": "0.8",
|
||||||
"package" : "com.dfsek.terra.lifecycle.mixin",
|
"package": "com.dfsek.terra.lifecycle.mixin",
|
||||||
"compatibilityLevel" : "JAVA_17",
|
"compatibilityLevel": "JAVA_17",
|
||||||
"mixins" : [
|
"mixins": [
|
||||||
"NoiseConfigMixin",
|
"NoiseConfigMixin",
|
||||||
"RegistryEntryReferenceInvoker",
|
"RegistryEntryReferenceInvoker",
|
||||||
"RegistryMixin",
|
"RegistryMixin",
|
||||||
"SimpleRegistryMixin",
|
"SimpleRegistryMixin",
|
||||||
"lifecycle.MinecraftServerMixin",
|
"lifecycle.MinecraftServerMixin",
|
||||||
"lifecycle.RegistryLoaderMixin"
|
"lifecycle.RegistryLoaderMixin",
|
||||||
|
"lifecycle.SaveLoadingMixin"
|
||||||
],
|
],
|
||||||
"client" : [
|
"client": [
|
||||||
],
|
],
|
||||||
"server" : [
|
"server": [
|
||||||
],
|
],
|
||||||
"injectors" : {
|
"injectors": {
|
||||||
"defaultRequire" : 1
|
"defaultRequire": 1
|
||||||
},
|
},
|
||||||
"refmap" : "terra.lifecycle.refmap.json"
|
"refmap": "terra.lifecycle.refmap.json"
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user