Cleanup, update entity render registry
This commit is contained in:
parent
bc887e8cd7
commit
9c8de4a70a
14 changed files with 32 additions and 91 deletions
|
@ -1,6 +1,5 @@
|
|||
package ru.betterend.blocks.basis;
|
||||
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.blocks.BaseTerrainBlock;
|
||||
|
|
|
@ -7,27 +7,19 @@ import net.minecraft.network.chat.Style;
|
|||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import ru.bclib.BCLib;
|
||||
import ru.bclib.blocks.BaseChestBlock;
|
||||
import ru.bclib.blocks.BaseSignBlock;
|
||||
import ru.bclib.client.render.BaseChestBlockEntityRenderer;
|
||||
import ru.bclib.client.render.BaseSignBlockEntityRenderer;
|
||||
import ru.bclib.util.TranslationHelper;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.events.ItemTooltipCallback;
|
||||
import ru.betterend.interfaces.MultiModelItem;
|
||||
import ru.betterend.item.CrystaliteArmor;
|
||||
import ru.betterend.registry.EndBlockEntityRenders;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntitiesRenders;
|
||||
import ru.betterend.registry.EndModelProviders;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndScreens;
|
||||
import ru.betterend.world.generator.GeneratorOptions;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BetterEndClient implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
package ru.betterend.entity.model;
|
||||
|
||||
import net.minecraft.client.model.EntityModel;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
public abstract class BlockBenchModel<T extends Entity> extends EntityModel<T> {
|
||||
public BlockBenchModel() {
|
||||
super();
|
||||
}
|
||||
|
||||
public BlockBenchModel(Function<ResourceLocation, RenderType> function) {
|
||||
super(function);
|
||||
}
|
||||
|
||||
protected void setRotationAngle(ModelPart modelRenderer, float x, float y, float z) {
|
||||
modelRenderer.xRot = x;
|
||||
modelRenderer.yRot = y;
|
||||
modelRenderer.zRot = z;
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@ package ru.betterend.entity.model;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.minecraft.client.model.EntityModel;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
import net.minecraft.client.model.geom.PartNames;
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
|
@ -13,7 +14,7 @@ import net.minecraft.client.renderer.RenderType;
|
|||
import net.minecraft.util.Mth;
|
||||
import ru.betterend.entity.CubozoaEntity;
|
||||
|
||||
public class CubozoaEntityModel extends BlockBenchModel<CubozoaEntity> {
|
||||
public class CubozoaEntityModel extends EntityModel<CubozoaEntity> {
|
||||
private final static int TENTACLE_COUNT = 4;
|
||||
|
||||
private final ModelPart model;
|
||||
|
|
|
@ -2,6 +2,7 @@ package ru.betterend.entity.model;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.minecraft.client.model.EntityModel;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
import net.minecraft.client.model.geom.PartNames;
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
|
@ -12,7 +13,7 @@ import net.minecraft.client.model.geom.builders.PartDefinition;
|
|||
import net.minecraft.client.renderer.RenderType;
|
||||
import ru.betterend.entity.DragonflyEntity;
|
||||
|
||||
public class DragonflyEntityModel extends BlockBenchModel<DragonflyEntity> {
|
||||
public class DragonflyEntityModel extends EntityModel<DragonflyEntity> {
|
||||
private final ModelPart model;
|
||||
private final ModelPart head;
|
||||
private final ModelPart tail;
|
||||
|
|
|
@ -2,6 +2,7 @@ package ru.betterend.entity.model;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.minecraft.client.model.EntityModel;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
import net.minecraft.client.model.geom.PartNames;
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
|
@ -12,7 +13,7 @@ import net.minecraft.client.model.geom.builders.PartDefinition;
|
|||
import net.minecraft.client.renderer.RenderType;
|
||||
import ru.betterend.entity.EndFishEntity;
|
||||
|
||||
public class EndFishEntityModel extends BlockBenchModel<EndFishEntity> {
|
||||
public class EndFishEntityModel extends EntityModel<EndFishEntity> {
|
||||
private final ModelPart model;
|
||||
private final ModelPart fin_top;
|
||||
private final ModelPart fin_bottom;
|
||||
|
|
|
@ -2,6 +2,7 @@ package ru.betterend.entity.model;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.minecraft.client.model.EntityModel;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
import net.minecraft.client.model.geom.PartNames;
|
||||
import net.minecraft.client.model.geom.PartPose;
|
||||
|
@ -13,7 +14,7 @@ import net.minecraft.client.renderer.RenderType;
|
|||
import net.minecraft.util.Mth;
|
||||
import ru.betterend.entity.SilkMothEntity;
|
||||
|
||||
public class SilkMothEntityModel extends BlockBenchModel<SilkMothEntity> {
|
||||
public class SilkMothEntityModel extends EntityModel<SilkMothEntity> {
|
||||
private final ModelPart legsL;
|
||||
private final ModelPart cube_r1;
|
||||
private final ModelPart cube_r2;
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
package ru.betterend.mixin.common;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.LevelReader;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
@ -15,7 +13,6 @@ import net.minecraft.world.level.block.state.BlockState;
|
|||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
|
|
@ -127,7 +127,6 @@ import ru.betterend.blocks.UmbrellaTreeClusterEmptyBlock;
|
|||
import ru.betterend.blocks.UmbrellaTreeMembraneBlock;
|
||||
import ru.betterend.blocks.UmbrellaTreeSaplingBlock;
|
||||
import ru.betterend.blocks.VentBubbleColumnBlock;
|
||||
import ru.betterend.blocks.basis.EndPlantBlock;
|
||||
import ru.betterend.blocks.basis.EndTerrainBlock;
|
||||
import ru.betterend.blocks.basis.EndTripleTerrain;
|
||||
import ru.betterend.blocks.basis.EndUnderwaterWallPlantBlock;
|
||||
|
|
|
@ -101,9 +101,10 @@ public class EndEntities {
|
|||
|
||||
protected static <T extends Entity> EntityType<T> register(String name, MobCategory group, float width, float height, EntityFactory<T> entity) {
|
||||
ResourceLocation id = BetterEnd.makeID(name);
|
||||
EntityType<T> type = FabricEntityTypeBuilder.<T>create(group, entity)
|
||||
.dimensions(EntityDimensions.fixed(width, height))
|
||||
.build();
|
||||
EntityType<T> type = FabricEntityTypeBuilder
|
||||
.<T>create(group, entity)
|
||||
.dimensions(EntityDimensions.fixed(width, height))
|
||||
.build();
|
||||
if (Configs.ENTITY_CONFIG.getBooleanRoot(id.getPath(), true)) {
|
||||
return Registry.register(Registry.ENTITY_TYPE, id, type);
|
||||
}
|
||||
|
@ -112,12 +113,10 @@ public class EndEntities {
|
|||
|
||||
private static <T extends Mob> EntityType<T> register(String name, MobCategory group, float width, float height, EntityFactory<T> entity, Builder attributes, boolean fixedSize, int eggColor, int dotsColor) {
|
||||
ResourceLocation id = BetterEnd.makeID(name);
|
||||
EntityType<T> type = FabricEntityTypeBuilder.<T>create(group, entity)
|
||||
.dimensions(fixedSize ? EntityDimensions.fixed(
|
||||
width,
|
||||
height
|
||||
) : EntityDimensions.scalable(width, height))
|
||||
.build();
|
||||
EntityType<T> type = FabricEntityTypeBuilder
|
||||
.<T>create(group, entity)
|
||||
.dimensions(fixedSize ? EntityDimensions.fixed(width, height) : EntityDimensions.scalable(width, height))
|
||||
.build();
|
||||
if (Configs.ENTITY_CONFIG.getBooleanRoot(id.getPath(), true)) {
|
||||
FabricDefaultAttributeRegistry.register(type, attributes);
|
||||
EndItems.registerEndEgg("spawn_egg_" + name, type, eggColor, dotsColor);
|
||||
|
|
|
@ -3,8 +3,8 @@ package ru.betterend.registry;
|
|||
import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityModelLayerRegistry;
|
||||
import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.renderer.entity.EntityRendererProvider.Context;
|
||||
import net.minecraft.client.renderer.entity.MobRenderer;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.entity.model.CubozoaEntityModel;
|
||||
|
@ -24,16 +24,17 @@ import ru.betterend.item.model.CrystaliteChestplateModel;
|
|||
import ru.betterend.item.model.CrystaliteHelmetModel;
|
||||
import ru.betterend.item.model.CrystaliteLeggingsModel;
|
||||
|
||||
public class EndEntitiesRenders {
|
||||
import java.util.function.Function;
|
||||
|
||||
public class EndEntitiesRenders {
|
||||
public static final ModelLayerLocation DRAGONFLY_MODEL = registerMain("dragonfly");
|
||||
public static final ModelLayerLocation END_SLIME_SHELL_MODEL = registerMain("endslime_shell");
|
||||
public static final ModelLayerLocation END_SLIME_MODEL = registerMain("endslime");
|
||||
public static final ModelLayerLocation END_FISH_MODEL = registerMain("endfish");
|
||||
public static final ModelLayerLocation CUBOZOA_MODEL = registerMain("cubozoa");
|
||||
public static final ModelLayerLocation SILK_MOTH_MODEL = registerMain("silkmoth");
|
||||
public static final ModelLayerLocation TEST_MODEL = registerMain("test");
|
||||
|
||||
//Not sure if this should go to another registry
|
||||
public static final ModelLayerLocation ARMORED_ELYTRA = registerMain("armored_elytra");
|
||||
public static final ModelLayerLocation CRYSTALITE_CHESTPLATE = registerMain("crystalite_chestplate");
|
||||
public static final ModelLayerLocation CRYSTALITE_CHESTPLATE_THIN = registerMain("crystalite_chestplate_thin");
|
||||
|
@ -42,51 +43,33 @@ public class EndEntitiesRenders {
|
|||
public static final ModelLayerLocation CRYSTALITE_BOOTS = registerMain("crystalite_boots");
|
||||
|
||||
public static void register() {
|
||||
register(EndEntities.DRAGONFLY, RendererEntityDragonfly.class);
|
||||
register(EndEntities.END_SLIME, RendererEntityEndSlime.class);
|
||||
register(EndEntities.END_FISH, RendererEntityEndFish.class);
|
||||
register(EndEntities.SHADOW_WALKER, RendererEntityShadowWalker.class);
|
||||
register(EndEntities.CUBOZOA, RendererEntityCubozoa.class);
|
||||
register(EndEntities.SILK_MOTH, SilkMothEntityRenderer.class);
|
||||
register(EndEntities.DRAGONFLY, RendererEntityDragonfly::new);
|
||||
register(EndEntities.END_SLIME, RendererEntityEndSlime::new);
|
||||
register(EndEntities.END_FISH, RendererEntityEndFish::new);
|
||||
register(EndEntities.SHADOW_WALKER, RendererEntityShadowWalker::new);
|
||||
register(EndEntities.CUBOZOA, RendererEntityCubozoa::new);
|
||||
register(EndEntities.SILK_MOTH, SilkMothEntityRenderer::new);
|
||||
|
||||
EntityModelLayerRegistry.registerModelLayer(DRAGONFLY_MODEL, DragonflyEntityModel::getTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(
|
||||
END_SLIME_SHELL_MODEL,
|
||||
EndSlimeEntityModel::getShellOnlyTexturedModelData
|
||||
);
|
||||
EntityModelLayerRegistry.registerModelLayer(END_SLIME_SHELL_MODEL, EndSlimeEntityModel::getShellOnlyTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(END_SLIME_MODEL, EndSlimeEntityModel::getCompleteTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(END_FISH_MODEL, EndFishEntityModel::getTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(SILK_MOTH_MODEL, SilkMothEntityModel::getTexturedModelData);
|
||||
|
||||
EntityModelLayerRegistry.registerModelLayer(ARMORED_ELYTRA, ArmoredElytraModel::getTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(
|
||||
CRYSTALITE_CHESTPLATE,
|
||||
CrystaliteChestplateModel::getRegularTexturedModelData
|
||||
);
|
||||
EntityModelLayerRegistry.registerModelLayer(
|
||||
CRYSTALITE_CHESTPLATE_THIN,
|
||||
CrystaliteChestplateModel::getThinTexturedModelData
|
||||
);
|
||||
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_CHESTPLATE, CrystaliteChestplateModel::getRegularTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_CHESTPLATE_THIN, CrystaliteChestplateModel::getThinTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_HELMET, CrystaliteHelmetModel::getTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_LEGGINGS, CrystaliteLeggingsModel::getTexturedModelData);
|
||||
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_BOOTS, CrystaliteBootsModel::getTexturedModelData);
|
||||
}
|
||||
|
||||
private static void register(EntityType<?> type, Class<? extends MobRenderer<?, ?>> renderer) {
|
||||
EntityRendererRegistry.INSTANCE.register(type, (context) -> {
|
||||
MobRenderer render = null;
|
||||
try {
|
||||
render = renderer.getConstructor(context.getClass()).newInstance(context);
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return render;
|
||||
});
|
||||
private static void register(EntityType<?> type, Function<Context, MobRenderer> renderer) {
|
||||
EntityRendererRegistry.INSTANCE.register(type, (context) -> renderer.apply(context));
|
||||
}
|
||||
|
||||
private static ModelLayerLocation registerMain(String id) {
|
||||
return new ModelLayerLocation(new ResourceLocation(BetterEnd.MOD_ID, id), "main");
|
||||
return new ModelLayerLocation(BetterEnd.makeID(id), "main");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package ru.betterend.util;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -3,13 +3,10 @@ package ru.betterend.world.features.terrain;
|
|||
import com.google.common.collect.Lists;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.biome.Biome;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.ChunkAccess;
|
||||
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
|
||||
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
||||
import net.minecraft.world.level.levelgen.surfacebuilders.ConfiguredSurfaceBuilder;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import ru.bclib.api.TagAPI;
|
||||
|
@ -24,7 +21,6 @@ import ru.betterend.noise.OpenSimplexNoise;
|
|||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ArchFeature extends DefaultFeature {
|
||||
private Function<BlockPos, BlockState> surfaceFunction;
|
||||
|
|
|
@ -5,7 +5,6 @@ import net.minecraft.core.BlockPos;
|
|||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
|
||||
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
|
@ -15,7 +14,6 @@ import ru.bclib.sdf.SDF;
|
|||
import ru.bclib.sdf.operator.SDFCoordModify;
|
||||
import ru.bclib.sdf.operator.SDFDisplacement;
|
||||
import ru.bclib.sdf.operator.SDFRotation;
|
||||
import ru.bclib.sdf.operator.SDFTranslate;
|
||||
import ru.bclib.sdf.operator.SDFUnion;
|
||||
import ru.bclib.sdf.primitive.SDFTorus;
|
||||
import ru.bclib.util.MHelper;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue