diff --git a/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java b/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java index 443ad35c..be224b9c 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java @@ -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; diff --git a/src/main/java/ru/betterend/client/BetterEndClient.java b/src/main/java/ru/betterend/client/BetterEndClient.java index 44be312b..407d1e30 100644 --- a/src/main/java/ru/betterend/client/BetterEndClient.java +++ b/src/main/java/ru/betterend/client/BetterEndClient.java @@ -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() { diff --git a/src/main/java/ru/betterend/entity/model/BlockBenchModel.java b/src/main/java/ru/betterend/entity/model/BlockBenchModel.java deleted file mode 100644 index 1ae01dbb..00000000 --- a/src/main/java/ru/betterend/entity/model/BlockBenchModel.java +++ /dev/null @@ -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 extends EntityModel { - public BlockBenchModel() { - super(); - } - - public BlockBenchModel(Function function) { - super(function); - } - - protected void setRotationAngle(ModelPart modelRenderer, float x, float y, float z) { - modelRenderer.xRot = x; - modelRenderer.yRot = y; - modelRenderer.zRot = z; - } -} diff --git a/src/main/java/ru/betterend/entity/model/CubozoaEntityModel.java b/src/main/java/ru/betterend/entity/model/CubozoaEntityModel.java index af0f23c1..624a63fd 100644 --- a/src/main/java/ru/betterend/entity/model/CubozoaEntityModel.java +++ b/src/main/java/ru/betterend/entity/model/CubozoaEntityModel.java @@ -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 { +public class CubozoaEntityModel extends EntityModel { private final static int TENTACLE_COUNT = 4; private final ModelPart model; diff --git a/src/main/java/ru/betterend/entity/model/DragonflyEntityModel.java b/src/main/java/ru/betterend/entity/model/DragonflyEntityModel.java index fda98221..7e363571 100644 --- a/src/main/java/ru/betterend/entity/model/DragonflyEntityModel.java +++ b/src/main/java/ru/betterend/entity/model/DragonflyEntityModel.java @@ -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 { +public class DragonflyEntityModel extends EntityModel { private final ModelPart model; private final ModelPart head; private final ModelPart tail; diff --git a/src/main/java/ru/betterend/entity/model/EndFishEntityModel.java b/src/main/java/ru/betterend/entity/model/EndFishEntityModel.java index f0182223..a6d8b0d8 100644 --- a/src/main/java/ru/betterend/entity/model/EndFishEntityModel.java +++ b/src/main/java/ru/betterend/entity/model/EndFishEntityModel.java @@ -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 { +public class EndFishEntityModel extends EntityModel { private final ModelPart model; private final ModelPart fin_top; private final ModelPart fin_bottom; diff --git a/src/main/java/ru/betterend/entity/model/SilkMothEntityModel.java b/src/main/java/ru/betterend/entity/model/SilkMothEntityModel.java index 75245f52..5ea45b4b 100644 --- a/src/main/java/ru/betterend/entity/model/SilkMothEntityModel.java +++ b/src/main/java/ru/betterend/entity/model/SilkMothEntityModel.java @@ -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 { +public class SilkMothEntityModel extends EntityModel { private final ModelPart legsL; private final ModelPart cube_r1; private final ModelPart cube_r2; diff --git a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java index 662eb096..091e0bdb 100644 --- a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java @@ -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; diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index d1c7ff36..bca97c14 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -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; diff --git a/src/main/java/ru/betterend/registry/EndEntities.java b/src/main/java/ru/betterend/registry/EndEntities.java index 1f874fde..ecce2911 100644 --- a/src/main/java/ru/betterend/registry/EndEntities.java +++ b/src/main/java/ru/betterend/registry/EndEntities.java @@ -101,9 +101,10 @@ public class EndEntities { protected static EntityType register(String name, MobCategory group, float width, float height, EntityFactory entity) { ResourceLocation id = BetterEnd.makeID(name); - EntityType type = FabricEntityTypeBuilder.create(group, entity) - .dimensions(EntityDimensions.fixed(width, height)) - .build(); + EntityType type = FabricEntityTypeBuilder + .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 EntityType register(String name, MobCategory group, float width, float height, EntityFactory entity, Builder attributes, boolean fixedSize, int eggColor, int dotsColor) { ResourceLocation id = BetterEnd.makeID(name); - EntityType type = FabricEntityTypeBuilder.create(group, entity) - .dimensions(fixedSize ? EntityDimensions.fixed( - width, - height - ) : EntityDimensions.scalable(width, height)) - .build(); + EntityType type = FabricEntityTypeBuilder + .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); diff --git a/src/main/java/ru/betterend/registry/EndEntitiesRenders.java b/src/main/java/ru/betterend/registry/EndEntitiesRenders.java index f4ba1b0e..4ab6b838 100644 --- a/src/main/java/ru/betterend/registry/EndEntitiesRenders.java +++ b/src/main/java/ru/betterend/registry/EndEntitiesRenders.java @@ -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; +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> 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 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"); } } diff --git a/src/main/java/ru/betterend/util/BlockFixer.java b/src/main/java/ru/betterend/util/BlockFixer.java index 8e0b7a4c..dbd81c3e 100644 --- a/src/main/java/ru/betterend/util/BlockFixer.java +++ b/src/main/java/ru/betterend/util/BlockFixer.java @@ -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; diff --git a/src/main/java/ru/betterend/world/features/terrain/ArchFeature.java b/src/main/java/ru/betterend/world/features/terrain/ArchFeature.java index 95b30eda..ef2fe51c 100644 --- a/src/main/java/ru/betterend/world/features/terrain/ArchFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/ArchFeature.java @@ -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 surfaceFunction; diff --git a/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java b/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java index 5a063242..c85eb980 100644 --- a/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java @@ -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;