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:
@@ -8,3 +8,7 @@ dependencies {
|
||||
implementation(project(path = ":rainbow", configuration = "namedElements"))
|
||||
include(project(":rainbow"))
|
||||
}
|
||||
|
||||
loom {
|
||||
accessWidenerPath = file("src/main/resources/rainbow-datagen.accesswidener")
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,10 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"environment": "client",
|
||||
"mixins": [],
|
||||
"mixins": [
|
||||
"rainbow-datagen.mixins.json"
|
||||
],
|
||||
"accessWidener": "rainbow-datagen.accesswidener",
|
||||
"depends": {
|
||||
"fabricloader": ">=${loader_version}",
|
||||
"fabric-api": "*",
|
||||
|
||||
3
datagen/src/main/resources/rainbow-datagen.accesswidener
Normal file
3
datagen/src/main/resources/rainbow-datagen.accesswidener
Normal 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
|
||||
Reference in New Issue
Block a user