From 6ade580e857e857267e841c445ab41bb5f14f172 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sat, 29 Dec 2018 13:36:29 -0500 Subject: [PATCH] Update to latest Fabric/yarn --- build.gradle | 9 ++-- .../client/MultipartContainerBakedModel.java | 2 +- ...der.java => MultipartVariantProvider.java} | 41 +++++++++---------- .../client/SimpleMultipartClient.java | 4 +- .../simplemultipart/test/SlabMultipart.java | 10 ++--- .../slab/{lower.json => bottom.json} | 0 .../slab/gold/{upper.json => bottom.json} | 2 +- .../slab/gold/{lower.json => top.json} | 2 +- .../slab/iron/{lower.json => bottom.json} | 2 +- .../slab/iron/{upper.json => top.json} | 2 +- .../multipart/slab/{upper.json => top.json} | 0 .../multipartstates/gold_slab.json | 6 +-- .../multipartstates/iron_slab.json | 6 +-- 13 files changed, 42 insertions(+), 44 deletions(-) rename src/main/java/net/shadowfacts/simplemultipart/client/{MultipartModelProvider.java => MultipartVariantProvider.java} (76%) rename src/test/resources/assets/multipart_test/models/multipart/slab/{lower.json => bottom.json} (100%) rename src/test/resources/assets/multipart_test/models/multipart/slab/gold/{upper.json => bottom.json} (50%) rename src/test/resources/assets/multipart_test/models/multipart/slab/gold/{lower.json => top.json} (50%) rename src/test/resources/assets/multipart_test/models/multipart/slab/iron/{lower.json => bottom.json} (50%) rename src/test/resources/assets/multipart_test/models/multipart/slab/iron/{upper.json => top.json} (50%) rename src/test/resources/assets/multipart_test/models/multipart/slab/{upper.json => top.json} (100%) diff --git a/build.gradle b/build.gradle index ae3124f..bd27bb7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.1.0-SNAPSHOT' + id 'fabric-loom' version '0.2.0-SNAPSHOT' } sourceCompatibility = 1.8 @@ -14,10 +14,9 @@ minecraft { dependencies { minecraft "com.mojang:minecraft:18w50a" - mappings "net.fabricmc:yarn:18w50a.63" - modCompile "net.fabricmc:fabric-loader:0.3.0.73" + mappings "net.fabricmc:yarn:18w50a.80" + modCompile "net.fabricmc:fabric-loader:0.3.1.80" // Fabric API. This is technically optional, but you probably want it anyway. -// modCompile "net.fabricmc:fabric:0.1.2.62" - modCompile files("fabric-0.1.2.local.jar") // temporary, until fabric-api #39 is merged + modCompile "net.fabricmc:fabric:0.1.3.68" } diff --git a/src/main/java/net/shadowfacts/simplemultipart/client/MultipartContainerBakedModel.java b/src/main/java/net/shadowfacts/simplemultipart/client/MultipartContainerBakedModel.java index f6008d4..9de99e7 100644 --- a/src/main/java/net/shadowfacts/simplemultipart/client/MultipartContainerBakedModel.java +++ b/src/main/java/net/shadowfacts/simplemultipart/client/MultipartContainerBakedModel.java @@ -75,7 +75,7 @@ public class MultipartContainerBakedModel implements BakedModel { } @Override - public ModelTransformation getTransformations() { + public ModelTransformation getTransformation() { return ModelTransformation.ORIGIN; } diff --git a/src/main/java/net/shadowfacts/simplemultipart/client/MultipartModelProvider.java b/src/main/java/net/shadowfacts/simplemultipart/client/MultipartVariantProvider.java similarity index 76% rename from src/main/java/net/shadowfacts/simplemultipart/client/MultipartModelProvider.java rename to src/main/java/net/shadowfacts/simplemultipart/client/MultipartVariantProvider.java index 192ae94..b50a45e 100644 --- a/src/main/java/net/shadowfacts/simplemultipart/client/MultipartModelProvider.java +++ b/src/main/java/net/shadowfacts/simplemultipart/client/MultipartVariantProvider.java @@ -1,10 +1,10 @@ package net.shadowfacts.simplemultipart.client; -import net.fabricmc.fabric.api.client.model.ModelProvider; +import net.fabricmc.fabric.api.client.model.ModelProviderContext; import net.fabricmc.fabric.api.client.model.ModelProviderException; -import net.minecraft.class_816; -import net.minecraft.client.MinecraftClient; +import net.fabricmc.fabric.api.client.model.ModelVariantProvider; import net.minecraft.client.render.block.BlockModels; +import net.minecraft.client.render.model.MultipartUnbakedModel; import net.minecraft.client.render.model.UnbakedModel; import net.minecraft.client.render.model.json.ModelVariantMap; import net.minecraft.client.render.model.json.WeightedUnbakedModel; @@ -29,10 +29,11 @@ import java.util.function.Consumer; /** * @author shadowfacts */ -public class MultipartModelProvider implements ModelProvider { +public class MultipartVariantProvider implements ModelVariantProvider { private static final Set multipartModels = new HashSet<>(); + private final ResourceManager resourceManager; private final Map unbakedModels = new HashMap<>(); static void registerMultipartModels(ResourceManager resourceManager, Consumer adder) { @@ -50,22 +51,20 @@ public class MultipartModelProvider implements ModelProvider { } } + public MultipartVariantProvider(ResourceManager resourceManager) { + this.resourceManager = resourceManager; + } + @Override - public UnbakedModel load(Identifier id, Context context) throws ModelProviderException { - if (!(id instanceof ModelIdentifier)) { - return null; - } - ModelIdentifier modelId = (ModelIdentifier)id; - - - if (!multipartModels.contains(modelId)) { + public UnbakedModel loadModelVariant(ModelIdentifier id, ModelProviderContext context) throws ModelProviderException { + if (!multipartModels.contains(id)) { return null; } try { - return getOrLoadPartModel(modelId); + return getOrLoadPartModel(id); } catch (IOException e) { - throw new ModelProviderException("Exception encountered while loading model " + id, e); + throw new ModelProviderException("Exception encountered while loading multipart model " + id, e); } } @@ -87,14 +86,14 @@ public class MultipartModelProvider implements ModelProvider { ModelVariantMap variantMap = loadPartVariantMap(blockAdapter, partStateDefId); - if (variantMap.method_3422()) { - class_816 multipartUnbakedModel = variantMap.method_3421(); + if (variantMap.hasMultipartModel()) { + MultipartUnbakedModel multipartUnbakedModel = variantMap.getMultipartMdoel(); part.getStateFactory().getStates().forEach(state -> { ModelIdentifier stateModelId = new ModelIdentifier(partId, BlockModels.propertyMapToString(state.getEntries())); unbakedModels.put(stateModelId, multipartUnbakedModel); }); } else { - Map variants = variantMap.method_3423(); + Map variants = variantMap.getVariantMap(); variants.forEach((variant, model) -> { unbakedModels.put(new ModelIdentifier(partId, variant), model); }); @@ -111,12 +110,12 @@ public class MultipartModelProvider implements ModelProvider { Resource resource = null; Reader reader = null; try { - resource = MinecraftClient.getInstance().getResourceManager().getResource(partStateDefId); + resource = resourceManager.getResource(partStateDefId); reader = new InputStreamReader(resource.getInputStream()); - ModelVariantMap.class_791 context = new ModelVariantMap.class_791(); - context.method_3426(blockAdapter.getStateFactory()); - return ModelVariantMap.method_3424(context, reader); + ModelVariantMap.DeserializationContext context = new ModelVariantMap.DeserializationContext(); + context.setStateFactory(blockAdapter.getStateFactory()); + return ModelVariantMap.deserialize(context, reader); } finally { IOUtils.closeQuietly(reader); IOUtils.closeQuietly(resource); diff --git a/src/main/java/net/shadowfacts/simplemultipart/client/SimpleMultipartClient.java b/src/main/java/net/shadowfacts/simplemultipart/client/SimpleMultipartClient.java index fc72159..d042f46 100644 --- a/src/main/java/net/shadowfacts/simplemultipart/client/SimpleMultipartClient.java +++ b/src/main/java/net/shadowfacts/simplemultipart/client/SimpleMultipartClient.java @@ -10,8 +10,8 @@ public class SimpleMultipartClient implements ClientModInitializer { @Override public void onInitializeClient() { - ModelLoadingRegistryImpl.INSTANCE.registerAppender(MultipartModelProvider::registerMultipartModels); - ModelLoadingRegistryImpl.INSTANCE.registerProvider(resourceManager -> new MultipartModelProvider()); + ModelLoadingRegistryImpl.INSTANCE.registerAppender(MultipartVariantProvider::registerMultipartModels); + ModelLoadingRegistryImpl.INSTANCE.registerVariantProvider(MultipartVariantProvider::new); } } diff --git a/src/test/java/net/shadowfacts/simplemultipart/test/SlabMultipart.java b/src/test/java/net/shadowfacts/simplemultipart/test/SlabMultipart.java index 1538509..46eaef6 100644 --- a/src/test/java/net/shadowfacts/simplemultipart/test/SlabMultipart.java +++ b/src/test/java/net/shadowfacts/simplemultipart/test/SlabMultipart.java @@ -22,7 +22,7 @@ public class SlabMultipart extends Multipart { private static final VoxelShape UPPER_BOX = VoxelShapes.cube(0, 0.5f, 0, 1, 1, 1); public SlabMultipart() { - setDefaultState(getDefaultState().with(HALF, BlockHalf.LOWER)); + setDefaultState(getDefaultState().with(HALF, BlockHalf.BOTTOM)); } @Override @@ -37,11 +37,11 @@ public class SlabMultipart extends Multipart { BlockHalf half; if (hitSide == Direction.DOWN) { - half = context.getHitY() >= 0.5f ? BlockHalf.LOWER : BlockHalf.UPPER; + half = context.getHitY() >= 0.5f ? BlockHalf.BOTTOM : BlockHalf.TOP; } else if (hitSide == Direction.UP) { - half = 0.5f <= context.getHitY() && context.getHitY() < 1 ? BlockHalf.UPPER : BlockHalf.LOWER; + half = 0.5f <= context.getHitY() && context.getHitY() < 1 ? BlockHalf.TOP : BlockHalf.BOTTOM; } else { - half = context.getHitY() >= 0.5f ? BlockHalf.UPPER : BlockHalf.LOWER; + half = context.getHitY() >= 0.5f ? BlockHalf.TOP : BlockHalf.BOTTOM; } return getDefaultState().with(HALF, half); @@ -50,6 +50,6 @@ public class SlabMultipart extends Multipart { @Override @Deprecated public VoxelShape getBoundingShape(MultipartState state, MultipartView view) { - return state.get(HALF) == BlockHalf.UPPER ? UPPER_BOX : LOWER_BOX; + return state.get(HALF) == BlockHalf.TOP ? UPPER_BOX : LOWER_BOX; } } diff --git a/src/test/resources/assets/multipart_test/models/multipart/slab/lower.json b/src/test/resources/assets/multipart_test/models/multipart/slab/bottom.json similarity index 100% rename from src/test/resources/assets/multipart_test/models/multipart/slab/lower.json rename to src/test/resources/assets/multipart_test/models/multipart/slab/bottom.json diff --git a/src/test/resources/assets/multipart_test/models/multipart/slab/gold/upper.json b/src/test/resources/assets/multipart_test/models/multipart/slab/gold/bottom.json similarity index 50% rename from src/test/resources/assets/multipart_test/models/multipart/slab/gold/upper.json rename to src/test/resources/assets/multipart_test/models/multipart/slab/gold/bottom.json index 01dc25b..c2a1007 100644 --- a/src/test/resources/assets/multipart_test/models/multipart/slab/gold/upper.json +++ b/src/test/resources/assets/multipart_test/models/multipart/slab/gold/bottom.json @@ -1,5 +1,5 @@ { - "parent": "multipart_test:multipart/slab/upper", + "parent": "multipart_test:multipart/slab/bottom", "textures": { "texture": "block/gold_block" } diff --git a/src/test/resources/assets/multipart_test/models/multipart/slab/gold/lower.json b/src/test/resources/assets/multipart_test/models/multipart/slab/gold/top.json similarity index 50% rename from src/test/resources/assets/multipart_test/models/multipart/slab/gold/lower.json rename to src/test/resources/assets/multipart_test/models/multipart/slab/gold/top.json index 96af681..e387841 100644 --- a/src/test/resources/assets/multipart_test/models/multipart/slab/gold/lower.json +++ b/src/test/resources/assets/multipart_test/models/multipart/slab/gold/top.json @@ -1,5 +1,5 @@ { - "parent": "multipart_test:multipart/slab/lower", + "parent": "multipart_test:multipart/slab/top", "textures": { "texture": "block/gold_block" } diff --git a/src/test/resources/assets/multipart_test/models/multipart/slab/iron/lower.json b/src/test/resources/assets/multipart_test/models/multipart/slab/iron/bottom.json similarity index 50% rename from src/test/resources/assets/multipart_test/models/multipart/slab/iron/lower.json rename to src/test/resources/assets/multipart_test/models/multipart/slab/iron/bottom.json index 2efb1f6..e22afc2 100644 --- a/src/test/resources/assets/multipart_test/models/multipart/slab/iron/lower.json +++ b/src/test/resources/assets/multipart_test/models/multipart/slab/iron/bottom.json @@ -1,5 +1,5 @@ { - "parent": "multipart_test:multipart/slab/lower", + "parent": "multipart_test:multipart/slab/bottom", "textures": { "texture": "block/iron_block" } diff --git a/src/test/resources/assets/multipart_test/models/multipart/slab/iron/upper.json b/src/test/resources/assets/multipart_test/models/multipart/slab/iron/top.json similarity index 50% rename from src/test/resources/assets/multipart_test/models/multipart/slab/iron/upper.json rename to src/test/resources/assets/multipart_test/models/multipart/slab/iron/top.json index f6b25b5..49a0614 100644 --- a/src/test/resources/assets/multipart_test/models/multipart/slab/iron/upper.json +++ b/src/test/resources/assets/multipart_test/models/multipart/slab/iron/top.json @@ -1,5 +1,5 @@ { - "parent": "multipart_test:multipart/slab/upper", + "parent": "multipart_test:multipart/slab/top", "textures": { "texture": "block/iron_block" } diff --git a/src/test/resources/assets/multipart_test/models/multipart/slab/upper.json b/src/test/resources/assets/multipart_test/models/multipart/slab/top.json similarity index 100% rename from src/test/resources/assets/multipart_test/models/multipart/slab/upper.json rename to src/test/resources/assets/multipart_test/models/multipart/slab/top.json diff --git a/src/test/resources/assets/multipart_test/multipartstates/gold_slab.json b/src/test/resources/assets/multipart_test/multipartstates/gold_slab.json index 212e247..2a7f008 100644 --- a/src/test/resources/assets/multipart_test/multipartstates/gold_slab.json +++ b/src/test/resources/assets/multipart_test/multipartstates/gold_slab.json @@ -1,7 +1,7 @@ { "variants": { - "half=upper": { "model": "multipart_test:multipart/slab/gold/upper" }, - "half=lower": { "model": "multipart_test:multipart/slab/gold/lower" }, - "inventory": { "model": "multipart_test:multipart/slab/gold/lower" } + "half=top": { "model": "multipart_test:multipart/slab/gold/top" }, + "half=bottom": { "model": "multipart_test:multipart/slab/gold/bottom" }, + "inventory": { "model": "multipart_test:multipart/slab/gold/bottom" } } } \ No newline at end of file diff --git a/src/test/resources/assets/multipart_test/multipartstates/iron_slab.json b/src/test/resources/assets/multipart_test/multipartstates/iron_slab.json index d1285b6..71085ec 100644 --- a/src/test/resources/assets/multipart_test/multipartstates/iron_slab.json +++ b/src/test/resources/assets/multipart_test/multipartstates/iron_slab.json @@ -1,7 +1,7 @@ { "variants": { - "half=upper": { "model": "multipart_test:multipart/slab/iron/upper" }, - "half=lower": { "model": "multipart_test:multipart/slab/iron/lower" }, - "inventory": { "model": "multipart_test:multipart/slab/iron/lower" } + "half=top": { "model": "multipart_test:multipart/slab/iron/top" }, + "half=bottom": { "model": "multipart_test:multipart/slab/iron/bottom" }, + "inventory": { "model": "multipart_test:multipart/slab/iron/bottom" } } } \ No newline at end of file