Curse my blursed spelling
|
@ -103,8 +103,8 @@ public class HiveWallBlock extends FallingBlock {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if (pos.getX() % 3 == 0 && pos.getZ() % 4 == 0 && isEmptySpace(world, pos.down()) && UBlocks.SLIME_DROP.getDefaultState().canPlaceAt(world, pos.down())) {
|
if (pos.getX() % 3 == 0 && pos.getZ() % 4 == 0 && isEmptySpace(world, pos.down()) && UBlocks.SLIME_DRIP.getDefaultState().canPlaceAt(world, pos.down())) {
|
||||||
world.setBlockState(pos.down(), UBlocks.SLIME_DROP.getDefaultState());
|
world.setBlockState(pos.down(), UBlocks.SLIME_DRIP.getDefaultState());
|
||||||
} else if (!testForAxis(world, pos, axis)) {
|
} else if (!testForAxis(world, pos, axis)) {
|
||||||
world.setBlockState(pos, state.with(STATE, State.GROWING));
|
world.setBlockState(pos, state.with(STATE, State.GROWING));
|
||||||
} else if (matchedNeighbours >= 27) {
|
} else if (matchedNeighbours >= 27) {
|
||||||
|
|
|
@ -34,7 +34,7 @@ import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
|
|
||||||
public class SlimeDropBlock extends Block implements Climbable {
|
public class SlimeDripBlock extends Block implements Climbable {
|
||||||
|
|
||||||
public static final IntProperty AGE = IntProperty.of("age", 0, 7);
|
public static final IntProperty AGE = IntProperty.of("age", 0, 7);
|
||||||
public static final EnumProperty<Shape> SHAPE = EnumProperty.of("shape", Shape.class);
|
public static final EnumProperty<Shape> SHAPE = EnumProperty.of("shape", Shape.class);
|
||||||
|
@ -52,7 +52,7 @@ public class SlimeDropBlock extends Block implements Climbable {
|
||||||
Block.createCuboidShape(2, 0, 2, 14, 12, 14),
|
Block.createCuboidShape(2, 0, 2, 14, 12, 14),
|
||||||
};
|
};
|
||||||
|
|
||||||
public SlimeDropBlock(Settings settings) {
|
public SlimeDripBlock(Settings settings) {
|
||||||
super(settings);
|
super(settings);
|
||||||
setDefaultState(stateManager.getDefaultState()
|
setDefaultState(stateManager.getDefaultState()
|
||||||
.with(AGE, 0)
|
.with(AGE, 0)
|
||||||
|
@ -80,14 +80,14 @@ public class SlimeDropBlock extends Block implements Climbable {
|
||||||
|
|
||||||
Shape shape = state.get(SHAPE);
|
Shape shape = state.get(SHAPE);
|
||||||
|
|
||||||
if (shape == Shape.STRING && spaceBelow) {
|
if (shape == Shape.TAIL && spaceBelow) {
|
||||||
world.setBlockState(pos, state.with(SHAPE, Shape.BULB).with(AGE, age / 2));
|
world.setBlockState(pos, state.with(SHAPE, Shape.BULB).with(AGE, age / 2));
|
||||||
} else if (shape == Shape.BULB && !spaceBelow) {
|
} else if (shape == Shape.BULB && !spaceBelow) {
|
||||||
world.setBlockState(pos, state.with(SHAPE, Shape.STRING).with(AGE, age / 2));
|
world.setBlockState(pos, state.with(SHAPE, Shape.TAIL).with(AGE, age / 2));
|
||||||
} else if (age >= 7) {
|
} else if (age >= 7) {
|
||||||
if (rand.nextInt(12) == 0 && spaceBelow) {
|
if (rand.nextInt(12) == 0 && spaceBelow) {
|
||||||
world.setBlockState(below, state.with(AGE, age / 2));
|
world.setBlockState(below, state.with(AGE, age / 2));
|
||||||
world.setBlockState(pos, getDefaultState().with(AGE, age / 2).with(SHAPE, Shape.STRING));
|
world.setBlockState(pos, getDefaultState().with(AGE, age / 2).with(SHAPE, Shape.TAIL));
|
||||||
world.playSound(null, pos, USounds.SLIME_ADVANCE, SoundCategory.BLOCKS, 1, 1);
|
world.playSound(null, pos, USounds.SLIME_ADVANCE, SoundCategory.BLOCKS, 1, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -108,7 +108,7 @@ public class SlimeDropBlock extends Block implements Climbable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getMaximumAge(World world, BlockPos pos, BlockState state, boolean spaceBelow) {
|
protected int getMaximumAge(World world, BlockPos pos, BlockState state, boolean spaceBelow) {
|
||||||
if (state.get(SHAPE) == Shape.STRING) {
|
if (state.get(SHAPE) == Shape.TAIL) {
|
||||||
BlockState higher = world.getBlockState(pos.up());
|
BlockState higher = world.getBlockState(pos.up());
|
||||||
|
|
||||||
if (higher.getBlock() != this) {
|
if (higher.getBlock() != this) {
|
||||||
|
@ -116,7 +116,7 @@ public class SlimeDropBlock extends Block implements Climbable {
|
||||||
}
|
}
|
||||||
|
|
||||||
return Math.min(higher.get(AGE),
|
return Math.min(higher.get(AGE),
|
||||||
((SlimeDropBlock)higher.getBlock()).getMaximumAge(world, pos.up(), higher, false) - 1
|
((SlimeDripBlock)higher.getBlock()).getMaximumAge(world, pos.up(), higher, false) - 1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -228,7 +228,7 @@ public class SlimeDropBlock extends Block implements Climbable {
|
||||||
|
|
||||||
enum Shape implements StringIdentifiable {
|
enum Shape implements StringIdentifiable {
|
||||||
BULB,
|
BULB,
|
||||||
STRING;
|
TAIL;
|
||||||
|
|
||||||
static final Shape[] VALUES = values();
|
static final Shape[] VALUES = values();
|
||||||
|
|
|
@ -138,7 +138,7 @@ public interface UBlocks {
|
||||||
.breakByTool(FabricToolTags.PICKAXES, 2)
|
.breakByTool(FabricToolTags.PICKAXES, 2)
|
||||||
.build()));
|
.build()));
|
||||||
|
|
||||||
SlimeDropBlock SLIME_DROP = register("slime_drop", new SlimeDropBlock(FabricBlockSettings.of(UMaterials.HIVE, MaterialColor.GRASS)
|
SlimeDripBlock SLIME_DRIP = register("slime_drip", new SlimeDripBlock(FabricBlockSettings.of(UMaterials.HIVE, MaterialColor.GRASS)
|
||||||
.ticksRandomly()
|
.ticksRandomly()
|
||||||
.breakInstantly()
|
.breakInstantly()
|
||||||
.lightLevel(9)
|
.lightLevel(9)
|
||||||
|
|
|
@ -9,7 +9,7 @@ import com.minelittlepony.unicopia.client.particle.RaindropsParticle;
|
||||||
import com.minelittlepony.unicopia.client.particle.SphereParticle;
|
import com.minelittlepony.unicopia.client.particle.SphereParticle;
|
||||||
import com.minelittlepony.unicopia.client.render.ButterflyEntityRenderer;
|
import com.minelittlepony.unicopia.client.render.ButterflyEntityRenderer;
|
||||||
import com.minelittlepony.unicopia.client.render.CloudEntityRenderer;
|
import com.minelittlepony.unicopia.client.render.CloudEntityRenderer;
|
||||||
import com.minelittlepony.unicopia.client.render.CuccoonEntityRenderer;
|
import com.minelittlepony.unicopia.client.render.CucoonEntityRenderer;
|
||||||
import com.minelittlepony.unicopia.client.render.RainbowEntityRenderer;
|
import com.minelittlepony.unicopia.client.render.RainbowEntityRenderer;
|
||||||
import com.minelittlepony.unicopia.client.render.SpearEntityRenderer;
|
import com.minelittlepony.unicopia.client.render.SpearEntityRenderer;
|
||||||
import com.minelittlepony.unicopia.client.render.SpellbookEntityRender;
|
import com.minelittlepony.unicopia.client.render.SpellbookEntityRender;
|
||||||
|
@ -34,7 +34,7 @@ public interface URenderers {
|
||||||
EntityRendererRegistry.INSTANCE.register(UEntities.SPELLBOOK, SpellbookEntityRender::new);
|
EntityRendererRegistry.INSTANCE.register(UEntities.SPELLBOOK, SpellbookEntityRender::new);
|
||||||
EntityRendererRegistry.INSTANCE.register(UEntities.RAINBOW, RainbowEntityRenderer::new);
|
EntityRendererRegistry.INSTANCE.register(UEntities.RAINBOW, RainbowEntityRenderer::new);
|
||||||
EntityRendererRegistry.INSTANCE.register(UEntities.BUTTERFLY, ButterflyEntityRenderer::new);
|
EntityRendererRegistry.INSTANCE.register(UEntities.BUTTERFLY, ButterflyEntityRenderer::new);
|
||||||
EntityRendererRegistry.INSTANCE.register(UEntities.CUCCOON, CuccoonEntityRenderer::new);
|
EntityRendererRegistry.INSTANCE.register(UEntities.CUCOON, CucoonEntityRenderer::new);
|
||||||
EntityRendererRegistry.INSTANCE.register(UEntities.THROWN_SPEAR, SpearEntityRenderer::new);
|
EntityRendererRegistry.INSTANCE.register(UEntities.THROWN_SPEAR, SpearEntityRenderer::new);
|
||||||
|
|
||||||
ParticleFactoryRegistry.getInstance().register(UParticles.UNICORN_MAGIC, MagicParticle.Factory::new);
|
ParticleFactoryRegistry.getInstance().register(UParticles.UNICORN_MAGIC, MagicParticle.Factory::new);
|
||||||
|
@ -54,7 +54,7 @@ public interface URenderers {
|
||||||
UBlocks.CLOUD_BLOCK, UBlocks.CLOUD_SLAB, UBlocks.CLOUD_STAIRS,
|
UBlocks.CLOUD_BLOCK, UBlocks.CLOUD_SLAB, UBlocks.CLOUD_STAIRS,
|
||||||
UBlocks.ENCHANTED_CLOUD_BLOCK, UBlocks.ENCHANTED_CLOUD_SLAB, UBlocks.ENCHANTED_CLOUD_STAIRS,
|
UBlocks.ENCHANTED_CLOUD_BLOCK, UBlocks.ENCHANTED_CLOUD_SLAB, UBlocks.ENCHANTED_CLOUD_STAIRS,
|
||||||
|
|
||||||
UBlocks.SLIME_DROP, UBlocks.SLIME_LAYER
|
UBlocks.SLIME_DRIP, UBlocks.SLIME_LAYER
|
||||||
);
|
);
|
||||||
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutoutMipped(),
|
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutoutMipped(),
|
||||||
UBlocks.APPLE_LEAVES
|
UBlocks.APPLE_LEAVES
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
package com.minelittlepony.unicopia.client.render;
|
package com.minelittlepony.unicopia.client.render;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.client.render.model.CuccoonEntityModel;
|
import com.minelittlepony.unicopia.client.render.model.CucoonEntityModel;
|
||||||
import com.minelittlepony.unicopia.entity.CuccoonEntity;
|
import com.minelittlepony.unicopia.entity.CucoonEntity;
|
||||||
import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
|
import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
|
||||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||||
import net.minecraft.client.render.entity.LivingEntityRenderer;
|
import net.minecraft.client.render.entity.LivingEntityRenderer;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
public class CuccoonEntityRenderer extends LivingEntityRenderer<CuccoonEntity, CuccoonEntityModel> {
|
public class CucoonEntityRenderer extends LivingEntityRenderer<CucoonEntity, CucoonEntityModel> {
|
||||||
|
|
||||||
private static final Identifier TEXTURE = new Identifier("unicopia", "textures/entity/cuccoon.png");
|
private static final Identifier TEXTURE = new Identifier("unicopia", "textures/entity/cucoon.png");
|
||||||
|
|
||||||
public CuccoonEntityRenderer(EntityRenderDispatcher manager, EntityRendererRegistry.Context context) {
|
public CucoonEntityRenderer(EntityRenderDispatcher manager, EntityRendererRegistry.Context context) {
|
||||||
super(manager, new CuccoonEntityModel(), 1);
|
super(manager, new CucoonEntityModel(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Identifier getTexture(CuccoonEntity entity) {
|
public Identifier getTexture(CucoonEntity entity) {
|
||||||
return TEXTURE;
|
return TEXTURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected float getLyingAngle(CuccoonEntity entity) {
|
protected float getLyingAngle(CucoonEntity entity) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasLabel(CuccoonEntity mobEntity) {
|
protected boolean hasLabel(CucoonEntity mobEntity) {
|
||||||
return super.hasLabel(mobEntity) && (mobEntity.shouldRenderName() || mobEntity.hasCustomName() && mobEntity == renderManager.targetedEntity);
|
return super.hasLabel(mobEntity) && (mobEntity.shouldRenderName() || mobEntity.hasCustomName() && mobEntity == renderManager.targetedEntity);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,26 +1,26 @@
|
||||||
package com.minelittlepony.unicopia.client.render.model;
|
package com.minelittlepony.unicopia.client.render.model;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.entity.CuccoonEntity;
|
import com.minelittlepony.unicopia.entity.CucoonEntity;
|
||||||
import net.minecraft.client.model.ModelPart;
|
import net.minecraft.client.model.ModelPart;
|
||||||
import net.minecraft.client.render.RenderLayer;
|
import net.minecraft.client.render.RenderLayer;
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
import net.minecraft.client.render.entity.model.EntityModel;
|
import net.minecraft.client.render.entity.model.EntityModel;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
|
||||||
public class CuccoonEntityModel extends EntityModel<CuccoonEntity> {
|
public class CucoonEntityModel extends EntityModel<CucoonEntity> {
|
||||||
|
|
||||||
private final ModelPart body;
|
private final ModelPart body;
|
||||||
|
|
||||||
private float breatheAmount;
|
private float breatheAmount;
|
||||||
|
|
||||||
public CuccoonEntityModel() {
|
public CucoonEntityModel() {
|
||||||
super(RenderLayer::getEntityTranslucentCull);
|
super(RenderLayer::getEntityTranslucentCull);
|
||||||
body = new ModelPart(this, 0, 0);
|
body = new ModelPart(this, 0, 0);
|
||||||
body.setTextureSize(250, 250);
|
body.setTextureSize(250, 250);
|
||||||
|
|
||||||
body.setTextureOffset(0, 0);
|
body.setTextureOffset(0, 0);
|
||||||
|
|
||||||
// cuccoon shape
|
// cucoon shape
|
||||||
body.addCuboid(-4, -2, -4, 8, 2, 8);
|
body.addCuboid(-4, -2, -4, 8, 2, 8);
|
||||||
body.addCuboid(-7.5F, 0, -7.5F, 15, 6, 15);
|
body.addCuboid(-7.5F, 0, -7.5F, 15, 6, 15);
|
||||||
body.addCuboid(-10, 4, -10, 20, 6, 20);
|
body.addCuboid(-10, 4, -10, 20, 6, 20);
|
||||||
|
@ -47,7 +47,7 @@ public class CuccoonEntityModel extends EntityModel<CuccoonEntity> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAngles(CuccoonEntity entity, float limbAngle, float limbDistance, float customAngle, float headYaw, float headPitch) {
|
public void setAngles(CucoonEntity entity, float limbAngle, float limbDistance, float customAngle, float headYaw, float headPitch) {
|
||||||
breatheAmount = entity.getBreatheAmount(customAngle) / 8;
|
breatheAmount = entity.getBreatheAmount(customAngle) / 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -40,13 +40,13 @@ import net.minecraft.util.math.Vec3d;
|
||||||
import net.minecraft.world.GameRules;
|
import net.minecraft.world.GameRules;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class CuccoonEntity extends LivingEntity implements IMagicals, InAnimate, Trap {
|
public class CucoonEntity extends LivingEntity implements IMagicals, InAnimate, Trap {
|
||||||
|
|
||||||
private static final TrackedData<Integer> STRUGGLE_COUNT = DataTracker.registerData(CuccoonEntity.class, TrackedDataHandlerRegistry.INTEGER);
|
private static final TrackedData<Integer> STRUGGLE_COUNT = DataTracker.registerData(CucoonEntity.class, TrackedDataHandlerRegistry.INTEGER);
|
||||||
|
|
||||||
private boolean captiveLastSneakState;
|
private boolean captiveLastSneakState;
|
||||||
|
|
||||||
public CuccoonEntity(EntityType<CuccoonEntity> type, World world) {
|
public CucoonEntity(EntityType<CucoonEntity> type, World world) {
|
||||||
super(type, world);
|
super(type, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ public class CuccoonEntity extends LivingEntity implements IMagicals, InAnimate,
|
||||||
&& !hasPassengers()
|
&& !hasPassengers()
|
||||||
&& entity instanceof LivingEntity
|
&& entity instanceof LivingEntity
|
||||||
&& !entity.hasVehicle()
|
&& !entity.hasVehicle()
|
||||||
&& !(entity instanceof CuccoonEntity)
|
&& !(entity instanceof CucoonEntity)
|
||||||
&& !EquinePredicates.PLAYER_CHANGELING.test(entity);
|
&& !EquinePredicates.PLAYER_CHANGELING.test(entity);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ public interface UEntities {
|
||||||
EntityType<RainbowEntity> RAINBOW = register("rainbow", FabricEntityTypeBuilder.create(EntityCategory.AMBIENT, RainbowEntity::new)
|
EntityType<RainbowEntity> RAINBOW = register("rainbow", FabricEntityTypeBuilder.create(EntityCategory.AMBIENT, RainbowEntity::new)
|
||||||
.size(EntityDimensions.fixed(1, 1)));
|
.size(EntityDimensions.fixed(1, 1)));
|
||||||
|
|
||||||
EntityType<CuccoonEntity> CUCCOON = register("cuccoon", FabricEntityTypeBuilder.create(EntityCategory.MISC, CuccoonEntity::new)
|
EntityType<CucoonEntity> CUCOON = register("cucoon", FabricEntityTypeBuilder.create(EntityCategory.MISC, CucoonEntity::new)
|
||||||
.size(EntityDimensions.changing(1.5F, 1.6F)));
|
.size(EntityDimensions.changing(1.5F, 1.6F)));
|
||||||
|
|
||||||
EntityType<ButterflyEntity> BUTTERFLY = register("butterfly", FabricEntityTypeBuilder.create(EntityCategory.AMBIENT, ButterflyEntity::new)
|
EntityType<ButterflyEntity> BUTTERFLY = register("butterfly", FabricEntityTypeBuilder.create(EntityCategory.AMBIENT, ButterflyEntity::new)
|
||||||
|
|
|
@ -71,7 +71,7 @@ public interface UItems {
|
||||||
Item CHITIN_SHELL_STAIRS = register("chitin_shell_stairs", new BlockItem(UBlocks.CHITIN_SHELL_STAIRS, new Settings().group(ItemGroup.BUILDING_BLOCKS)));
|
Item CHITIN_SHELL_STAIRS = register("chitin_shell_stairs", new BlockItem(UBlocks.CHITIN_SHELL_STAIRS, new Settings().group(ItemGroup.BUILDING_BLOCKS)));
|
||||||
|
|
||||||
Item CHISELED_CHITIN_SHELL_BLOCK = register("chiseled_chitin_shell_block", new BlockItem(UBlocks.CHISELED_CHITIN_SHELL_BLOCK, new Settings().group(ItemGroup.BUILDING_BLOCKS)));
|
Item CHISELED_CHITIN_SHELL_BLOCK = register("chiseled_chitin_shell_block", new BlockItem(UBlocks.CHISELED_CHITIN_SHELL_BLOCK, new Settings().group(ItemGroup.BUILDING_BLOCKS)));
|
||||||
Item SLIME_DROP = register("slime_drop", new BlockItem(UBlocks.SLIME_DROP, new Settings().group(ItemGroup.MATERIALS)));
|
Item CUCOON = register("cucoon", new AliasedBlockItem(UBlocks.SLIME_DRIP, new Settings().group(ItemGroup.MATERIALS)));
|
||||||
Item SLIME_LAYER = register("slime_layer", new BlockItem(UBlocks.SLIME_LAYER, new Settings().group(ItemGroup.DECORATIONS)));
|
Item SLIME_LAYER = register("slime_layer", new BlockItem(UBlocks.SLIME_LAYER, new Settings().group(ItemGroup.DECORATIONS)));
|
||||||
|
|
||||||
Item MISTED_GLASS_DOOR = register("misted_glass_door", new TallBlockItem(UBlocks.MISTED_GLASS_DOOR, new Settings().group(ItemGroup.REDSTONE)));
|
Item MISTED_GLASS_DOOR = register("misted_glass_door", new TallBlockItem(UBlocks.MISTED_GLASS_DOOR, new Settings().group(ItemGroup.REDSTONE)));
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Optional;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.USounds;
|
import com.minelittlepony.unicopia.USounds;
|
||||||
import com.minelittlepony.unicopia.block.UBlocks;
|
import com.minelittlepony.unicopia.block.UBlocks;
|
||||||
import com.minelittlepony.unicopia.entity.CuccoonEntity;
|
import com.minelittlepony.unicopia.entity.CucoonEntity;
|
||||||
import com.minelittlepony.unicopia.entity.IMagicals;
|
import com.minelittlepony.unicopia.entity.IMagicals;
|
||||||
import com.minelittlepony.unicopia.entity.UEntities;
|
import com.minelittlepony.unicopia.entity.UEntities;
|
||||||
import com.minelittlepony.unicopia.magic.Affinity;
|
import com.minelittlepony.unicopia.magic.Affinity;
|
||||||
|
@ -168,10 +168,10 @@ public class ChangelingTrapSpell extends AbstractSpell implements ThrowableSpell
|
||||||
if (caster.isLocal() && caster.getWorld().random.nextInt(3) == 0) {
|
if (caster.isLocal() && caster.getWorld().random.nextInt(3) == 0) {
|
||||||
onDestroyed(caster);
|
onDestroyed(caster);
|
||||||
|
|
||||||
CuccoonEntity cuccoon = UEntities.CUCCOON.create(caster.getWorld());
|
CucoonEntity cucoon = UEntities.CUCOON.create(caster.getWorld());
|
||||||
cuccoon.copyPositionAndRotation(caster.getEntity());
|
cucoon.copyPositionAndRotation(caster.getEntity());
|
||||||
|
|
||||||
caster.getWorld().spawnEntity(cuccoon);
|
caster.getWorld().spawnEntity(cucoon);
|
||||||
}
|
}
|
||||||
|
|
||||||
setDirty(true);
|
setDirty(true);
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"age=0,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage0" },
|
||||||
|
"age=1,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage0" },
|
||||||
|
"age=2,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage1" },
|
||||||
|
"age=3,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage1" },
|
||||||
|
"age=4,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage2" },
|
||||||
|
"age=5,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage2" },
|
||||||
|
"age=6,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage3" },
|
||||||
|
"age=7,shape=bulb": { "model": "unicopia:block/slime_drip/bulb_stage3" },
|
||||||
|
"age=0,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage0" },
|
||||||
|
"age=1,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage0" },
|
||||||
|
"age=2,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage1" },
|
||||||
|
"age=3,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage1" },
|
||||||
|
"age=4,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage2" },
|
||||||
|
"age=5,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage2" },
|
||||||
|
"age=6,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage3" },
|
||||||
|
"age=7,shape=tail": { "model": "unicopia:block/slime_drip/tail_stage3" }
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"variants": {
|
|
||||||
"age=0,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage0" },
|
|
||||||
"age=1,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage0" },
|
|
||||||
"age=2,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage1" },
|
|
||||||
"age=3,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage1" },
|
|
||||||
"age=4,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage2" },
|
|
||||||
"age=5,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage2" },
|
|
||||||
"age=6,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage3" },
|
|
||||||
"age=7,shape=bulb": { "model": "unicopia:block/slime_drop/bulb_stage3" },
|
|
||||||
"age=0,shape=string": { "model": "unicopia:block/slime_drop/string_stage0" },
|
|
||||||
"age=1,shape=string": { "model": "unicopia:block/slime_drop/string_stage0" },
|
|
||||||
"age=2,shape=string": { "model": "unicopia:block/slime_drop/string_stage1" },
|
|
||||||
"age=3,shape=string": { "model": "unicopia:block/slime_drop/string_stage1" },
|
|
||||||
"age=4,shape=string": { "model": "unicopia:block/slime_drop/string_stage2" },
|
|
||||||
"age=5,shape=string": { "model": "unicopia:block/slime_drop/string_stage2" },
|
|
||||||
"age=6,shape=string": { "model": "unicopia:block/slime_drop/string_stage3" },
|
|
||||||
"age=7,shape=string": { "model": "unicopia:block/slime_drop/string_stage3" }
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -23,7 +23,7 @@
|
||||||
"block.unicopia.chitin_shell_slab": "Chitin Shell Slab",
|
"block.unicopia.chitin_shell_slab": "Chitin Shell Slab",
|
||||||
"block.unicopia.chiseled_chitin_shell_block": "Chiseled Chitin Shell Block",
|
"block.unicopia.chiseled_chitin_shell_block": "Chiseled Chitin Shell Block",
|
||||||
"block.unicopia.chitin_shell": "Chitin Shell",
|
"block.unicopia.chitin_shell": "Chitin Shell",
|
||||||
"block.unicopia.slime_drop": "Slime Droplet",
|
"block.unicopia.slime_drop": "Slimey Plant",
|
||||||
"block.unicopia.slime_layer": "Slime",
|
"block.unicopia.slime_layer": "Slime",
|
||||||
|
|
||||||
"block.unicopia.chiseled_marble_block": "Chiseled Marble Block",
|
"block.unicopia.chiseled_marble_block": "Chiseled Marble Block",
|
||||||
|
@ -53,6 +53,7 @@
|
||||||
"item.unicopia.dew_drop": "Dew Drop",
|
"item.unicopia.dew_drop": "Dew Drop",
|
||||||
"item.unicopia.chitin_shell": "Chitinous Shell",
|
"item.unicopia.chitin_shell": "Chitinous Shell",
|
||||||
|
|
||||||
|
"item.unicopia.cucoon": "Cucoon",
|
||||||
"item.unicopia.moss": "Moss",
|
"item.unicopia.moss": "Moss",
|
||||||
"item.unicopia.meadow_brook_staff": "Meadow Brook's Staff",
|
"item.unicopia.meadow_brook_staff": "Meadow Brook's Staff",
|
||||||
"item.unicopia.meadow_brook_staff.tagline": "It's a big stick",
|
"item.unicopia.meadow_brook_staff.tagline": "It's a big stick",
|
||||||
|
@ -180,7 +181,7 @@
|
||||||
"entity.unicopia.spellbook": "Spellbook",
|
"entity.unicopia.spellbook": "Spellbook",
|
||||||
"entity.unicopia.butterfly": "Butterfly",
|
"entity.unicopia.butterfly": "Butterfly",
|
||||||
"entity.unicopia.spear": "Spear",
|
"entity.unicopia.spear": "Spear",
|
||||||
"entity.unicopia.cuccoon": "Cuccoon",
|
"entity.unicopia.cucoon": "Cucoon",
|
||||||
|
|
||||||
"toxicity.safe.name": "Safe",
|
"toxicity.safe.name": "Safe",
|
||||||
"toxicity.mild.name": "Mildly Toxic",
|
"toxicity.mild.name": "Mildly Toxic",
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"bulb": "unicopia:blocks/cuccoon_bulb",
|
"bulb": "unicopia:blocks/slime_bulb",
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_bulb"
|
"particle": "unicopia:blocks/slime_bulb"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 7, 8, 7 ],
|
{ "from": [ 7, 8, 7 ],
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"bulb": "unicopia:blocks/cuccoon_bulb",
|
"bulb": "unicopia:blocks/slime_bulb",
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_bulb"
|
"particle": "unicopia:blocks/slime_bulb"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 6, 8, 6 ],
|
{ "from": [ 6, 8, 6 ],
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"bulb": "unicopia:blocks/cuccoon_bulb",
|
"bulb": "unicopia:blocks/slime_bulb",
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_bulb"
|
"particle": "unicopia:blocks/slime_bulb"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 5, 8, 5 ],
|
{ "from": [ 5, 8, 5 ],
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"bulb": "unicopia:blocks/cuccoon_bulb",
|
"bulb": "unicopia:blocks/slime_bulb",
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_bulb"
|
"particle": "unicopia:blocks/slime_bulb"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 4, 8, 4 ],
|
{ "from": [ 4, 8, 4 ],
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_tail"
|
"particle": "unicopia:blocks/slime_tail"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 7, 0, 7 ],
|
{ "from": [ 7, 0, 7 ],
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_tail"
|
"particle": "unicopia:blocks/slime_tail"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 6, 0, 6 ],
|
{ "from": [ 6, 0, 6 ],
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_tail"
|
"particle": "unicopia:blocks/slime_tail"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 5, 0, 5 ],
|
{ "from": [ 5, 0, 5 ],
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"textures": {
|
"textures": {
|
||||||
"tail": "unicopia:blocks/cuccoon_tail",
|
"tail": "unicopia:blocks/slime_tail",
|
||||||
"particle": "unicopia:blocks/cuccoon_tail"
|
"particle": "unicopia:blocks/slime_tail"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{ "from": [ 4, 0, 4 ],
|
{ "from": [ 4, 0, 4 ],
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "unicopia:item/slime_drop"
|
"layer0": "unicopia:item/cucoon"
|
||||||
}
|
}
|
||||||
}
|
}
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 793 B |
After Width: | Height: | Size: 690 B |
After Width: | Height: | Size: 701 B |
BIN
src/main/resources/assets/unicopia/textures/gui/ability/feed.png
Normal file
After Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
@ -9,7 +9,7 @@
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "unicopia:slime_drop",
|
"name": "unicopia:cucoon",
|
||||||
"conditions": [
|
"conditions": [
|
||||||
{
|
{
|
||||||
"condition": "minecraft:random_chance",
|
"condition": "minecraft:random_chance",
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
"functions": [
|
"functions": [
|
||||||
{
|
{
|
||||||
"function": "minecraft:set_count",
|
"function": "minecraft:set_count",
|
||||||
"count": { "min": 1, "max": 3 }
|
"count": { "min": 1, "max": 7 }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"function": "minecraft:apply_bonus",
|
"function": "minecraft:apply_bonus",
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"type": "smelting",
|
"type": "smelting",
|
||||||
"ingredient": {
|
"ingredient": {
|
||||||
"item": "unicopia:slime_drop"
|
"item": "unicopia:cucoon"
|
||||||
},
|
},
|
||||||
"result": "unicopia:chitin_shell",
|
"result": "unicopia:chitin_shell",
|
||||||
"experience": 0.3,
|
"experience": 0.3,
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
],
|
],
|
||||||
"key": {
|
"key": {
|
||||||
"#": [
|
"#": [
|
||||||
{ "item": "minecraft:slime_block" }
|
{ "item": "minecraft:slime_ball" }
|
||||||
],
|
],
|
||||||
"*": [
|
"*": [
|
||||||
{ "item": "unicopia:gem" }
|
{ "item": "unicopia:gem" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"result": { "item": "unicopia:slime_drop", "count": 1 }
|
"result": { "item": "unicopia:cucoon", "count": 1 }
|
||||||
}
|
}
|
|
@ -7,6 +7,8 @@
|
||||||
"minecraft:coal_block",
|
"minecraft:coal_block",
|
||||||
"minecraft:coal",
|
"minecraft:coal",
|
||||||
"unicopia:chitin_shell",
|
"unicopia:chitin_shell",
|
||||||
"unicopia:slime_drop"
|
"unicopia:chitin_shell_block",
|
||||||
|
"unicopia:chitin_shell_stairs",
|
||||||
|
"unicopia:chitin_shell_slab"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
"minecraft:wheat",
|
"minecraft:wheat",
|
||||||
"minecraft:wheat_seeds",
|
"minecraft:wheat_seeds",
|
||||||
"#minecraft:leaves",
|
"#minecraft:leaves",
|
||||||
"unicopia:moss"
|
"unicopia:moss",
|
||||||
|
"unicopia:cucoon"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|