From c9cdea122fbfaed0a96b5006bd7ca14ee198b604 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 8 Oct 2020 22:55:48 +0300 Subject: [PATCH] Slime size fix --- .../java/ru/betterend/blocks/BlockBubbleCoral.java | 11 +++++++++++ src/main/java/ru/betterend/entity/EntityEndSlime.java | 2 ++ .../java/ru/betterend/registry/EntityRegistry.java | 8 ++++---- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/ru/betterend/blocks/BlockBubbleCoral.java b/src/main/java/ru/betterend/blocks/BlockBubbleCoral.java index 2eeaabd7..f20dd4a4 100644 --- a/src/main/java/ru/betterend/blocks/BlockBubbleCoral.java +++ b/src/main/java/ru/betterend/blocks/BlockBubbleCoral.java @@ -7,15 +7,21 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; +import net.minecraft.block.ShapeContext; import net.minecraft.particle.ParticleTypes; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; import net.minecraft.world.World; import ru.betterend.blocks.basis.BlockUnderwaterPlant; public class BlockBubbleCoral extends BlockUnderwaterPlant { + private static final VoxelShape SHAPE = Block.createCuboidShape(0, 0, 0, 16, 14, 16); + public BlockBubbleCoral() { super(FabricBlockSettings.of(Material.UNDERWATER_PLANT) .breakByTool(FabricToolTags.SHEARS) @@ -36,4 +42,9 @@ public class BlockBubbleCoral extends BlockUnderwaterPlant { double z = pos.getZ() + random.nextDouble(); world.addParticle(ParticleTypes.BUBBLE, x, y, z, 0.0D, 0.0D, 0.0D); } + + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) { + return SHAPE; + } } diff --git a/src/main/java/ru/betterend/entity/EntityEndSlime.java b/src/main/java/ru/betterend/entity/EntityEndSlime.java index 0708b42f..349059af 100644 --- a/src/main/java/ru/betterend/entity/EntityEndSlime.java +++ b/src/main/java/ru/betterend/entity/EntityEndSlime.java @@ -49,6 +49,7 @@ public class EntityEndSlime extends SlimeEntity { if (BiomeRegistry.getFromBiome(world.getBiome(getBlockPos())) == BiomeRegistry.FOGGY_MUSHROOMLAND) { this.setMossy(true); } + this.calculateDimensions(); return data; } @@ -87,6 +88,7 @@ public class EntityEndSlime extends SlimeEntity { slimeEntity.setAiDisabled(bl); slimeEntity.setInvulnerable(this.isInvulnerable()); ((ISlime) slimeEntity).setSlimeSize(j, true); + slimeEntity.calculateDimensions(); slimeEntity.refreshPositionAndAngles(this.getX() + (double) g, this.getY() + 0.5D, this.getZ() + (double) h, this.random.nextFloat() * 360.0F, 0.0F); this.world.spawnEntity(slimeEntity); } diff --git a/src/main/java/ru/betterend/registry/EntityRegistry.java b/src/main/java/ru/betterend/registry/EntityRegistry.java index 64f93d5b..f0b49d86 100644 --- a/src/main/java/ru/betterend/registry/EntityRegistry.java +++ b/src/main/java/ru/betterend/registry/EntityRegistry.java @@ -17,8 +17,8 @@ import ru.betterend.util.MHelper; import ru.betterend.util.SpawnHelper; public class EntityRegistry { - public static final EntityType DRAGONFLY = register("dragonfly", SpawnGroup.AMBIENT, 0.6F, 0.5F, EntityDragonfly::new, EntityDragonfly.createMobAttributes(), MHelper.color(32, 42, 176), MHelper.color(115, 225, 249)); - public static final EntityType END_SLIME = register("end_slime", SpawnGroup.MONSTER, 0.6F, 0.5F, EntityEndSlime::new, EntityEndSlime.createMobAttributes(), MHelper.color(28, 28, 28), MHelper.color(99, 11, 99)); + public static final EntityType DRAGONFLY = register("dragonfly", SpawnGroup.AMBIENT, 0.6F, 0.5F, EntityDragonfly::new, EntityDragonfly.createMobAttributes(), true, MHelper.color(32, 42, 176), MHelper.color(115, 225, 249)); + public static final EntityType END_SLIME = register("end_slime", SpawnGroup.MONSTER, 2F, 2F, EntityEndSlime::new, EntityEndSlime.createMobAttributes(), false, MHelper.color(28, 28, 28), MHelper.color(99, 11, 99)); public static void register() { SpawnHelper.restrictionLand(END_SLIME, EntityEndSlime::canSpawn); @@ -29,8 +29,8 @@ public class EntityRegistry { return type; } - private static EntityType register(String name, SpawnGroup group, float width, float height, EntityFactory entity, Builder attributes, int eggColor, int dotsColor) { - EntityType type = Registry.register(Registry.ENTITY_TYPE, BetterEnd.makeID(name), FabricEntityTypeBuilder.create(group, entity).dimensions(EntityDimensions.fixed(width, height)).build()); + private static EntityType register(String name, SpawnGroup group, float width, float height, EntityFactory entity, Builder attributes, boolean fixedSize, int eggColor, int dotsColor) { + EntityType type = Registry.register(Registry.ENTITY_TYPE, BetterEnd.makeID(name), FabricEntityTypeBuilder.create(group, entity).dimensions(fixedSize ? EntityDimensions.fixed(width, height) : EntityDimensions.changing(width, height)).build()); FabricDefaultAttributeRegistry.register(type, attributes); ItemRegistry.registerEgg("spawn_egg_" + name, type, eggColor, dotsColor); return type;