1
0
mirror of https://github.com/GeyserMC/Rainbow.git synced 2025-12-19 14:59:16 +00:00

Fix some stuff

This commit is contained in:
Eclipse
2025-10-14 13:49:24 +00:00
parent 3907c2f087
commit 834b9addce
8 changed files with 33 additions and 20 deletions

View File

@@ -8,3 +8,7 @@ dependencies {
implementation(project(path = ":rainbow", configuration = "namedElements"))
include(project(":rainbow"))
}
loom {
accessWidenerPath = file("src/main/resources/rainbow-datagen.accesswidener")
}

View File

@@ -81,6 +81,7 @@ public abstract class RainbowModelProvider extends FabricModelProvider {
@Override
public <T> CompletableFuture<?> saveJson(Codec<T> codec, T object, Path path) {
ResourceLocation location = ResourceLocation.withDefaultNamespace(path.toString());
System.out.println("saving bedrock " + location);
return DataProvider.saveStable(output, registries, codec, object, provider.json(location));
}

View File

@@ -1,31 +1,26 @@
package org.geysermc.rainbow.datagen.mixin;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import com.llamalad7.mixinextras.sugar.Local;
import net.minecraft.client.data.models.ModelProvider;
import net.minecraft.data.CachedOutput;
import net.minecraft.data.DataProvider;
import org.geysermc.rainbow.datagen.RainbowModelProvider;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.concurrent.CompletableFuture;
@Mixin(ModelProvider.class)
public abstract class ModelProviderMixin implements DataProvider {
@WrapOperation(method = "run", at = @At(value = "NEW", target = "Lnet/minecraft/client/data/models/ModelProvider$ItemInfoCollector;"))
public Object setItemInfosInRainbowModelProvider(Operation<?> original) {
Object itemInfoCollector = original.call();
@Inject(method = "run", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/data/models/BlockModelGenerators;run()V"))
public void setItemInfosInRainbowModelProvider(CachedOutput output, CallbackInfoReturnable<CompletableFuture<?>> callbackInfoReturnable,
@Local ModelProvider.ItemInfoCollector itemInfoCollector, @Local ModelProvider.SimpleModelCollector simpleModelCollector) {
if ((Object) this instanceof RainbowModelProvider rainbowModelProvider) {
rainbowModelProvider.setItemInfosMap(((ItemInfoCollectorAccessor) itemInfoCollector).getItemInfos());
}
return itemInfoCollector;
}
@WrapOperation(method = "run", at = @At(value = "NEW", target = "Lnet/minecraft/client/data/models/ModelProvider$SimpleModelCollector;"))
public Object setModelsInRainbowModelProvider(Operation<?> original) {
Object simpleModelCollector = original.call();
if ((Object) this instanceof RainbowModelProvider rainbowModelProvider) {
rainbowModelProvider.setModels(((SimpleModelCollectorAccessor) simpleModelCollector).getModels());
}
return simpleModelCollector;
}
}

View File

@@ -14,7 +14,10 @@
},
"license": "MIT",
"environment": "client",
"mixins": [],
"mixins": [
"rainbow-datagen.mixins.json"
],
"accessWidener": "rainbow-datagen.accesswidener",
"depends": {
"fabricloader": ">=${loader_version}",
"fabric-api": "*",

View File

@@ -0,0 +1,3 @@
accessWidener v2 named
accessible class net/minecraft/client/data/models/ModelProvider$ItemInfoCollector
accessible class net/minecraft/client/data/models/ModelProvider$SimpleModelCollector