修改第三部分 优化部分import 和 调整配置
实现其模组功能
This commit is contained in:
parent
6784bab6d8
commit
ffb2dcca4c
|
|
@ -1,5 +1,9 @@
|
|||
package com.leisuretimedock.jsonem;
|
||||
|
||||
import dev.architectury.registry.client.level.entity.EntityModelLayerRegistry;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
import net.minecraft.client.model.geom.builders.MeshDefinition;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
@ -9,4 +13,7 @@ public final class JsonEm {
|
|||
public static void init() {
|
||||
// Write common init code here.
|
||||
}
|
||||
public static void registerModelLayer(ModelLayerLocation layer) {
|
||||
EntityModelLayerRegistry.register(layer, () -> LayerDefinition.create(new MeshDefinition(), 32, 32));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
package com.leisuretimedock.jsonem.mixin;
|
||||
|
||||
import com.leisuretimedock.jsonem.util.JsonEntityModelUtil;
|
||||
import net.minecraft.client.model.geom.EntityModelSet;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
|
@ -9,10 +13,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import net.minecraft.client.model.geom.EntityModelSet;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
|
||||
@Mixin(EntityModelSet.class)
|
||||
public class EntityModelLoaderMixin {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ import com.google.common.collect.ImmutableMap;
|
|||
import com.leisuretimedock.jsonem.JsonEm;
|
||||
import com.leisuretimedock.jsonem.platform.Services;
|
||||
import com.leisuretimedock.jsonem.util.JsonEntityModelUtil;
|
||||
import net.minecraft.client.model.geom.LayerDefinitions;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
|
|
@ -12,9 +15,6 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import net.minecraft.client.model.geom.LayerDefinitions;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
|
||||
@Mixin(LayerDefinitions.class)
|
||||
public class EntityModelsMixin {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
package com.leisuretimedock.jsonem.mixin;
|
||||
|
||||
import net.minecraft.client.model.geom.builders.CubeDefinition;
|
||||
import net.minecraft.client.model.geom.builders.CubeDeformation;
|
||||
import net.minecraft.client.model.geom.builders.UVPair;
|
||||
import net.minecraft.core.Direction;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.joml.Vector3f;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
|
@ -7,10 +11,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
|||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
import java.util.Set;
|
||||
import net.minecraft.client.model.geom.builders.CubeDefinition;
|
||||
import net.minecraft.client.model.geom.builders.CubeDeformation;
|
||||
import net.minecraft.client.model.geom.builders.UVPair;
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
@Mixin(CubeDefinition.class)
|
||||
public interface ModelCuboidDataAccess {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
package com.leisuretimedock.jsonem.mixin;
|
||||
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
import net.minecraft.client.model.geom.builders.CubeDefinition;
|
||||
import net.minecraft.client.model.geom.builders.PartDefinition;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
import net.minecraft.client.model.geom.builders.CubeDefinition;
|
||||
import net.minecraft.client.model.geom.builders.PartDefinition;
|
||||
|
||||
@Mixin(PartDefinition.class)
|
||||
public interface ModelPartDataAccess {
|
||||
|
|
|
|||
|
|
@ -1,32 +1,18 @@
|
|||
package com.leisuretimedock.jsonem.serialization;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.leisuretimedock.jsonem.mixin.*;
|
||||
import com.leisuretimedock.jsonem.util.Vector2fComparable;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import com.leisuretimedock.jsonem.mixin.DilationAccess;
|
||||
import com.leisuretimedock.jsonem.mixin.ModelCuboidDataAccess;
|
||||
import com.leisuretimedock.jsonem.mixin.ModelPartDataAccess;
|
||||
import com.leisuretimedock.jsonem.mixin.TextureDimensionsAccess;
|
||||
import com.leisuretimedock.jsonem.mixin.TexturedModelDataAccess;
|
||||
import com.leisuretimedock.jsonem.util.Vector2fComparable;
|
||||
import org.joml.Vector3f;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import net.minecraft.Util;
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
import net.minecraft.client.model.geom.builders.CubeDefinition;
|
||||
import net.minecraft.client.model.geom.builders.CubeDeformation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
import net.minecraft.client.model.geom.builders.MaterialDefinition;
|
||||
import net.minecraft.client.model.geom.builders.MeshDefinition;
|
||||
import net.minecraft.client.model.geom.builders.PartDefinition;
|
||||
import net.minecraft.client.model.geom.builders.UVPair;
|
||||
import net.minecraft.client.model.geom.builders.*;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.ExtraCodecs;
|
||||
import org.joml.Vector3f;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class JsonEMCodecs {
|
||||
private static final Set<Direction> ALL_DIRECTIONS = EnumSet.allOf(Direction.class);
|
||||
|
|
@ -94,6 +80,8 @@ public class JsonEMCodecs {
|
|||
).apply(instance, JsonEMCodecs::createCuboidData)
|
||||
);
|
||||
|
||||
//必可达,因为mixin的写法只是为了通过编译
|
||||
@SuppressWarnings("UnreachableCode")
|
||||
private static Codec<PartDefinition> createPartDataCodec() {
|
||||
return RecordCodecBuilder.create((instance) ->
|
||||
instance.group(
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
"DilationAccess",
|
||||
"EntityModelLoaderMixin",
|
||||
"EntityModelsMixin",
|
||||
"ModelCuboidDataAccess",
|
||||
"ModelPartDataAccess",
|
||||
"TextureDimensionsAccess",
|
||||
"TexturedModelDataAccess"
|
||||
|
|
@ -15,6 +16,5 @@
|
|||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
},
|
||||
"refmap": "jsonem.refmap.json"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,13 +35,7 @@ dependencies {
|
|||
shadowBundle project(path: ':common', configuration: 'transformProductionFabric')
|
||||
}
|
||||
|
||||
processResources {
|
||||
inputs.property 'version', project.version
|
||||
|
||||
filesMatching('fabric.mod.json') {
|
||||
expand version: project.version
|
||||
}
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
configurations = [project.configurations.shadowBundle]
|
||||
|
|
|
|||
|
|
@ -2,10 +2,6 @@ package com.leisuretimedock.jsonem.fabric;
|
|||
|
||||
import com.leisuretimedock.jsonem.fabric.config.JsonEmConfig;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||
import net.minecraft.client.model.geom.builders.MeshDefinition;
|
||||
|
||||
|
||||
public class JsonEmFabric implements ClientModInitializer {
|
||||
|
|
@ -17,7 +13,4 @@ public class JsonEmFabric implements ClientModInitializer {
|
|||
CONFIG.load();
|
||||
}
|
||||
|
||||
public static void registerModelLayer(ModelLayerLocation layer) {
|
||||
EntityModelLayerRegistry.registerModelLayer(layer, () -> LayerDefinition.create(new MeshDefinition(), 32, 32));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
plugins {
|
||||
plugins {
|
||||
id 'com.github.johnrengelman.shadow'
|
||||
}
|
||||
|
||||
|
|
@ -37,17 +37,10 @@ dependencies {
|
|||
forge "net.minecraftforge:forge:$rootProject.forge_version"
|
||||
|
||||
modImplementation "dev.architectury:architectury-forge:$rootProject.architectury_api_version"
|
||||
common(project(path: '::common', configuration: 'namedElements')) { transitive false }
|
||||
shadowBundle project(path: '::common', configuration: 'transformProductionForge')
|
||||
common(project(path: ':common', configuration: 'namedElements')) { transitive false }
|
||||
shadowBundle project(path: ':common', configuration: 'transformProductionNeoForge')
|
||||
}
|
||||
|
||||
processResources {
|
||||
// inputs.property 'version', project.version
|
||||
//
|
||||
// filesMatching('META-INF/mods.toml') {
|
||||
// expand version: project.version
|
||||
// }
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
configurations = [project.configurations.shadowBundle]
|
||||
|
|
|
|||
|
|
@ -16,4 +16,5 @@ public class ForgePlatformHelper implements IPlatFormHelper {
|
|||
public Path getDumpModelsPath() {
|
||||
return FMLPaths.GAMEDIR.get().resolve("jsonem_dump");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
BIN
forge/src/main/resources/icon.png
Normal file
BIN
forge/src/main/resources/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
|
|
@ -11,7 +11,7 @@ mod_authors= FoundationGames, R3944Realms
|
|||
mod_description=Migrate from Fabric 1.20.1
|
||||
mod_licence=MIT
|
||||
maven_group=com.leisuretimedock
|
||||
archives_name=jsonem_neo_forge_1_20_1
|
||||
archives_name=jsonem_fabrge
|
||||
enabled_platforms=fabric,neoforge
|
||||
# Minecraft properties
|
||||
minecraft_version=1.20.1
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user