From c23fead5f26ce43a344a2c6711834a32ac0cf87a Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 15 Oct 2023 16:51:57 +0100 Subject: [PATCH] Added hive block --- assets/models/hive_core.bbmodel | 1 + assets/models/hive_core.json | 35 +++++ .../unicopia/EquineContext.java | 31 +++++ .../unicopia/block/HiveBlock.java | 125 ++++++++++++++++++ .../unicopia/block/UBlocks.java | 1 + .../unicopia/entity/Equine.java | 9 +- .../mixin/MixinEntityShapeContext.java | 37 ++++++ .../assets/unicopia/blockstates/hive.json | 68 ++++++++++ .../resources/assets/unicopia/lang/en_us.json | 1 + .../unicopia/models/block/hive_core.json | 20 +++ .../unicopia/models/block/hive_side.json | 20 +++ .../assets/unicopia/models/item/hive.json | 6 + .../unicopia/textures/block/hive_core.png | Bin 0 -> 4751 bytes .../unicopia/textures/block/hive_side.png | Bin 0 -> 4885 bytes .../unicopia/loot_tables/blocks/hive.json | 20 +++ .../resources/data/unicopia/recipes/hive.json | 17 +++ .../processor_list/changeling_hive_decay.json | 22 +++ .../changeling_hive/chamber_decors.json | 4 +- .../hidden_entrance_terminations.json | 4 +- .../changeling_hive/hidden_entrances.json | 14 +- .../changeling_hive/pit_decors.json | 4 +- .../changeling_hive/shaft_terminations.json | 4 +- .../template_pool/changeling_hive/shafts.json | 32 ++--- .../changeling_hive/side_passages.json | 48 ++----- .../template_pool/changeling_hive/start.json | 8 +- .../changeling_hive/tunnel_terminations.json | 16 +-- .../changeling_hive/tunnels.json | 24 +--- src/main/resources/unicopia.mixin.json | 1 + 28 files changed, 447 insertions(+), 125 deletions(-) create mode 100644 assets/models/hive_core.bbmodel create mode 100644 assets/models/hive_core.json create mode 100644 src/main/java/com/minelittlepony/unicopia/EquineContext.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/HiveBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/MixinEntityShapeContext.java create mode 100644 src/main/resources/assets/unicopia/blockstates/hive.json create mode 100644 src/main/resources/assets/unicopia/models/block/hive_core.json create mode 100644 src/main/resources/assets/unicopia/models/block/hive_side.json create mode 100644 src/main/resources/assets/unicopia/models/item/hive.json create mode 100644 src/main/resources/assets/unicopia/textures/block/hive_core.png create mode 100644 src/main/resources/assets/unicopia/textures/block/hive_side.png create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/hive.json create mode 100644 src/main/resources/data/unicopia/recipes/hive.json create mode 100644 src/main/resources/data/unicopia/worldgen/processor_list/changeling_hive_decay.json diff --git a/assets/models/hive_core.bbmodel b/assets/models/hive_core.bbmodel new file mode 100644 index 00000000..0d1d6e1c --- /dev/null +++ b/assets/models/hive_core.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.5","model_format":"java_block","box_uv":false},"name":"hive_core","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":16,"height":16},"elements":[{"name":"core","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1,1,1],"to":[15,15,15],"autouv":0,"color":6,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,16,16],"texture":0},"east":{"uv":[0,0,16,16],"texture":0},"south":{"uv":[0,0,16,16],"texture":0},"west":{"uv":[0,0,16,16],"texture":0},"up":{"uv":[0,0,16,16],"texture":0},"down":{"uv":[0,0,16,16],"texture":0}},"type":"cube","uuid":"494e4b71-f1df-46c1-f373-aa720b94be5e"},{"name":"activity","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,0,0],"to":[16,16,2],"autouv":0,"color":1,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,16,16],"texture":1},"east":{"uv":[14,0,16,16],"texture":1},"south":{"uv":[0,0,16,16],"texture":1},"west":{"uv":[0,0,2,16],"texture":1},"up":{"uv":[16,2,0,0],"texture":1},"down":{"uv":[16,14,0,16],"texture":1}},"type":"cube","uuid":"13733a81-bd87-34dc-d9b6-05392c74222a"}],"outliner":["494e4b71-f1df-46c1-f373-aa720b94be5e","13733a81-bd87-34dc-d9b6-05392c74222a"],"textures":[{"path":"/home/sollace/Desktop/hive_core.png","name":"hive_core.png","folder":"","namespace":"unicopia","id":"0","particle":true,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"b6416600-de7b-5a1b-2752-6724918266ab","relative_path":"../../../../../../../Desktop/hive_core.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAqBJREFUOE9tk0tvHEUURs+t6qqenkfs8Qy2I4GwRCQiFJIYzCKxQLDgB8Ce/w0SYgFexMFtu3um3111UTtIySLLKtWt+u6tc+TLp89UVQlBERFmswznPGdnX3B9fcVdnuO8w1rPbl8ynbVWHs4aY5EXLy80RmUYBo6Ojui7jmpXcvLJKUNVIQJVWXBy9oSq3XOT5yTOYYww1cn3P/ysef4W72fUZYFXxUkkljsSa8nmc/q6YjAJQ5Iw3x5Tdw3rzTFVtUcuvrvU6ZUwDoRyD/lb5qkjiiUMA6vlgr7tGIaewTr84SF+fUgThaZtkGdfX6j3jiq/YVbeYw3MjMEnnr7vcM4Sgz70romjt0IggaMNbj5Hzr95rfX+HtO2LMJIliZoWYEBExVjLWMYkcQRxNBqwPoZ7vgxu65Ffvn1N/33zRXXf/1BFkcWUZAYiUaYOw+q9BqQEBliRMQQ5gvG1YqTz58gry5/0qEoGIs7tCqxEQQlS1OcTgkMVgzNOEKakqYZTddgtqfoYoV89fS5ZmFE6x02RrquBYVHzpGa6SolBhhFHuZjjHkYZphl9MsVcv78W+2LO2Yu5dFyw+0/vxNUWfgUh+CNPKw1BrxNGKISZ3NClnEXAnJ+/koPFkvyv//EVnv6EPDGYjXibMJEkhEhhJE0y1AS6jjgjrasHn+GvL78Udu6ocuvkWFAx5FsijsGkqlwShAFf3BAW9xiXIKs1iTrNWVTvwPJGiFRpb0vcDIidUdT7Zj24xR/Yt7P0YmA5RJ1KaQz2r57j3KWZgxNQyqGsSmJdYM1hnHoiYnF+Ix+amu5IghstqfvUP5Qpu1mwziMNLuC7eaYIr+hbvY0Xcfxp2fTf1BMvvj0vUwf09n/r/Ob6ytuP9B5/xGd/wPFiXTP8ca0JAAAAABJRU5ErkJggg=="},{"path":"/home/sollace/Desktop/hive_activity.png","name":"hive_activity.png","folder":"","namespace":"unicopia","id":"1","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"8c57b642-7139-0ef2-7e98-d580239ce477","relative_path":"../../../../../../../Desktop/hive_activity.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAkhJREFUOE+tk0tv00AUhb9x4vgV23k1LW1FKlV9SLSlhbIoFQgW/ADY87ORULsh0JamwUkcxxk7TjIog+APlJFmNXfOPefcc8XB4ZFSSrFYKIQQ2LaDaVbY2dnlvnfDIIqoVExKpQqTyZhVbakkdK1hlBDPT8/VcqkoioJms8l8viBNJ2xv75AkY9J0dVM6nV2kTIiiCNM0MQzB6p948/aDiqIHLMtByqnuXq1WyWczAr/GaNRHKUG5bJKmCY7jkueSZrOtG4nzV5dqhWYYBnlekCQJ29tbOG4VEBhigefVub7+Cigsy2S5XOruMpOIo+Nz5Xku0+kUKTM6nQ7z+ZzZLKdUKmuwm5tbFos5lYpFuVym2+3iODau6yLOXrxWRZHh+wGWZeF6LvFoRdUijke0Wm2iqE8QhEiZE9Z8pumUPM+1R+Ljp89KypSH/j3r60/43u2yXBaEtYB6rYHvhyRJzHA0IB6NMQyTp50Ovd5P2msbiIvL98oQJW2e47r07m+xbZtGo649mC/nlI2y1j8YDMmyjPWNLeR0SlHMEAeHJ2qlRwjY3NzSUuJ4jO/7jCcxf09QXTFJCMNAU7+7u0UpEMcnL9UK1fOq7O8/YzCMaDXr2g8p5T8Ax3G07l/RkEa9ydXVlz9jPD27UK3WGsNhpBE9zyEIaxRFThj4TCaSatUhHieYpsU4HpGmUjOu15uI15fvVJbNSNOYRqOtR2PZFbrffmDbFfb29uhHI2ZZqlM6GDzgeaF+i8fxfwjSo6P86GV67Dr/BkQRecNu1A/UAAAAAElFTkSuQmCC"}]} \ No newline at end of file diff --git a/assets/models/hive_core.json b/assets/models/hive_core.json new file mode 100644 index 00000000..ace6646f --- /dev/null +++ b/assets/models/hive_core.json @@ -0,0 +1,35 @@ +{ + "textures": { + "0": "unicopia:hive_core", + "1": "unicopia:hive_activity", + "particle": "unicopia:hive_core" + }, + "elements": [ + { + "name": "core", + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "activity", + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [16, 2, 0, 0], "texture": "#1"}, + "down": {"uv": [16, 14, 0, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/EquineContext.java b/src/main/java/com/minelittlepony/unicopia/EquineContext.java new file mode 100644 index 00000000..a28433c4 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/EquineContext.java @@ -0,0 +1,31 @@ +package com.minelittlepony.unicopia; + +import com.google.common.base.MoreObjects; +import com.minelittlepony.unicopia.entity.Equine; +import com.minelittlepony.unicopia.entity.player.Pony; + +import net.minecraft.block.ShapeContext; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemUsageContext; + +public interface EquineContext { + EquineContext ABSENT = () -> Race.UNSET; + + Race getSpecies(); + + default Race.Composite getCompositeRace() { + return getSpecies().composite(); + } + + static EquineContext of(ShapeContext context) { + return context instanceof EquineContext c ? c : ABSENT; + } + + static EquineContext of(ItemUsageContext context) { + return MoreObjects.firstNonNull(Pony.of(context.getPlayer()), ABSENT); + } + + static EquineContext of(Entity entity) { + return MoreObjects.firstNonNull(Equine.of(entity).orElse(null), ABSENT); + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/HiveBlock.java b/src/main/java/com/minelittlepony/unicopia/block/HiveBlock.java new file mode 100644 index 00000000..35b2f1af --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/HiveBlock.java @@ -0,0 +1,125 @@ +package com.minelittlepony.unicopia.block; + +import java.util.Collection; + +import com.minelittlepony.unicopia.EquineContext; +import com.minelittlepony.unicopia.Race; +import com.minelittlepony.unicopia.USounds; +import com.minelittlepony.unicopia.entity.player.Pony; +import com.minelittlepony.unicopia.particle.ParticleUtils; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.ConnectingBlock; +import net.minecraft.block.ShapeContext; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.sound.SoundCategory; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.property.Property; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.random.Random; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.util.shape.VoxelShapes; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import net.minecraft.world.WorldAccess; + +public class HiveBlock extends ConnectingBlock { + static final BooleanProperty AWAKE = BooleanProperty.of("awake"); + static final Collection PROPERTIES = FACING_PROPERTIES.values(); + + public HiveBlock(Settings settings) { + super(0.5F, settings); + setDefaultState(getDefaultState().with(AWAKE, false)); + PROPERTIES.forEach(property -> { + setDefaultState(getDefaultState().with(property, true)); + }); + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(PROPERTIES.toArray(Property[]::new)); + builder.add(AWAKE); + } + + @Override + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + super.randomDisplayTick(state, world, pos, random); + + if (random.nextInt(250) == 0) { + world.playSoundAtBlockCenter(pos, USounds.BLOCK_CHITIN_AMBIENCE, SoundCategory.BLOCKS, 0.13F, 0.2F, true); + + for (int i = 0; i < 9; i++) { + world.addParticle(random.nextInt(2) == 0 ? ParticleTypes.SPORE_BLOSSOM_AIR : ParticleTypes.CRIMSON_SPORE, + pos.getX() + random.nextDouble(), + pos.getY() + 1.1, pos.getZ() + random.nextDouble(), + random.nextDouble() - 0.5, 0, random.nextDouble() - 0.5 + ); + } + } + } + + @Deprecated + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + boolean connected = !neighborState.isAir(); + state = state.with(FACING_PROPERTIES.get(direction), connected); + + if (!connected) { + return state.with(AWAKE, true); + } + + return state; + } + + @Override + public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (!state.get(AWAKE)) { + return; + } + + for (var property : FACING_PROPERTIES.entrySet()) { + if (!state.get(property.getValue())) { + BlockPos neighborPos = pos.offset(property.getKey()); + //world.setBlockState(neighborPos, getDefaultState()); + world.setBlockState(neighborPos, UBlocks.CHITIN.getDefaultState()); + + world.playSound(null, neighborPos, USounds.Vanilla.BLOCK_SLIME_BLOCK_PLACE, SoundCategory.BLOCKS); + world.playSound(null, neighborPos, USounds.BLOCK_CHITIN_AMBIENCE, SoundCategory.BLOCKS, 0.13F, 0.2F); + + for (int i = 0; i < 9; i++) { + ParticleUtils.spawnParticle(world, random.nextInt(2) == 0 ? ParticleTypes.SPORE_BLOSSOM_AIR : ParticleTypes.CRIMSON_SPORE, + neighborPos.getX() + random.nextDouble(), + neighborPos.getY() + 1.1, pos.getZ() + random.nextDouble(), + random.nextDouble() - 0.5, 0, random.nextDouble() - 0.5 + ); + } + } + } + } + + @Deprecated + @Override + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) { + world.scheduleBlockTick(pos, this, 15); + super.neighborUpdate(state, world, pos, sourceBlock, sourcePos, notify); + } + + @Deprecated + @Override + public VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return EquineContext.of(context).getSpecies() == Race.CHANGELING ? VoxelShapes.empty() : super.getCollisionShape(state, world, pos, context); + } + + @Deprecated + @Override + public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { + float delta = super.calcBlockBreakingDelta(state, player, world, pos); + delta *= Pony.of(player).getSpecies() == Race.CHANGELING ? 2 : 1; + return delta; + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 5f38e656..2e5d6b23 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -121,6 +121,7 @@ public interface UBlocks { Block CHISELLED_CHITIN_SLAB = register("chiselled_chitin_slab", new SlabBlock(Settings.copy(CHISELLED_CHITIN)), ItemGroups.BUILDING_BLOCKS); Block CHISELLED_CHITIN_STAIRS = register("chiselled_chitin_stairs", new StairsBlock(CHISELLED_CHITIN.getDefaultState(), Settings.copy(CHISELLED_CHITIN)), ItemGroups.BUILDING_BLOCKS); Block CHISELLED_CHITIN_HULL = register("chiselled_chitin_hull", new OrientedBlock(Settings.copy(CHISELLED_CHITIN)), ItemGroups.BUILDING_BLOCKS); + Block HIVE = register("hive", new HiveBlock(Settings.create().mapColor(MapColor.PURPLE).hardness(6).ticksRandomly().sounds(BlockSoundGroup.CORAL)), ItemGroups.NATURAL); Block MYSTERIOUS_EGG = register("mysterious_egg", new PileBlock(Settings.copy(Blocks.SLIME_BLOCK), PileBlock.MYSTERIOUS_EGG_SHAPES), ItemGroups.NATURAL); SegmentedCropBlock OATS = register("oats", SegmentedCropBlock.create(11, 5, AbstractBlock.Settings.copy(Blocks.WHEAT), () -> UItems.OAT_SEEDS, null, null)); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Equine.java b/src/main/java/com/minelittlepony/unicopia/entity/Equine.java index b7219517..a9cf3707 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Equine.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Equine.java @@ -6,6 +6,7 @@ import java.util.function.Predicate; import org.jetbrains.annotations.Nullable; import com.minelittlepony.unicopia.EntityConvertable; +import com.minelittlepony.unicopia.EquineContext; import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.projectile.ProjectileImpactListener; import com.minelittlepony.unicopia.util.NbtSerialisable; @@ -13,17 +14,11 @@ import com.minelittlepony.unicopia.util.Tickable; import net.minecraft.entity.Entity; -public interface Equine extends NbtSerialisable, Tickable, ProjectileImpactListener, EntityConvertable { +public interface Equine extends NbtSerialisable, Tickable, ProjectileImpactListener, EntityConvertable, EquineContext { Physics getPhysics(); - Race getSpecies(); - void setSpecies(Race race); - default Race.Composite getCompositeRace() { - return getSpecies().composite(); - } - /** * Called at the beginning of an update cycle. */ diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/MixinEntityShapeContext.java b/src/main/java/com/minelittlepony/unicopia/mixin/MixinEntityShapeContext.java new file mode 100644 index 00000000..fbd059ad --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/mixin/MixinEntityShapeContext.java @@ -0,0 +1,37 @@ +package com.minelittlepony.unicopia.mixin; + +import java.util.function.Predicate; + +import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.minelittlepony.unicopia.EquineContext; +import com.minelittlepony.unicopia.Race; + +import net.minecraft.block.EntityShapeContext; +import net.minecraft.entity.Entity; +import net.minecraft.fluid.FluidState; +import net.minecraft.item.ItemStack; + +@Mixin(EntityShapeContext.class) +abstract class MixinEntityShapeContext implements EquineContext { + private EquineContext equineContext; + + @Inject(method = "", at = @At("TAIL")) + private void init(boolean descending, double minY, ItemStack heldItem, Predicate walkOnFluidPredicate, @Nullable Entity entity, CallbackInfo into) { + equineContext = EquineContext.of(entity); + } + + @Override + public Race getSpecies() { + return equineContext.getSpecies(); + } + + @Override + public Race.Composite getCompositeRace() { + return equineContext.getCompositeRace(); + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/hive.json b/src/main/resources/assets/unicopia/blockstates/hive.json new file mode 100644 index 00000000..e363894a --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/hive.json @@ -0,0 +1,68 @@ +{ + "multipart": [ + { + "apply": { + "model": "unicopia:block/hive_core" + } + }, + { + "apply": { + "model": "unicopia:block/hive_side", + "uvlock": true + }, + "when": { + "north": true + } + }, + { + "apply": { + "model": "unicopia:block/hive_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": true + } + }, + { + "apply": { + "model": "unicopia:block/hive_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": true + } + }, + { + "apply": { + "model": "unicopia:block/hive_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": true + } + }, + { + "apply": { + "model": "unicopia:block/hive_side", + "uvlock": true, + "x": 90 + }, + "when": { + "down": true + } + }, + { + "apply": { + "model": "unicopia:block/hive_side", + "uvlock": true, + "x": 270 + }, + "when": { + "up": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 5d1ce69d..161d97dc 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -207,6 +207,7 @@ "block.unicopia.sour_apple_sprout": "Sour Apple Sprout", "block.unicopia.surface_chitin": "Surface Chitin", + "block.unicopia.hive": "Hive", "block.unicopia.chitin": "Chitin", "block.unicopia.chitin_spikes": "Chitin Spikes", "block.unicopia.chiselled_chitin": "Chiselled Chitin", diff --git a/src/main/resources/assets/unicopia/models/block/hive_core.json b/src/main/resources/assets/unicopia/models/block/hive_core.json new file mode 100644 index 00000000..19f32612 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/hive_core.json @@ -0,0 +1,20 @@ +{ + "textures": { + "all": "unicopia:block/hive_core", + "particle": "unicopia:block/hive_core" + }, + "elements": [ + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#all"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/hive_side.json b/src/main/resources/assets/unicopia/models/block/hive_side.json new file mode 100644 index 00000000..95bf811c --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/hive_side.json @@ -0,0 +1,20 @@ +{ + "textures": { + "all": "unicopia:block/hive_side", + "particle": "unicopia:block/hive_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#all"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "up": {"uv": [16, 2, 0, 0], "texture": "#all"}, + "down": {"uv": [16, 14, 0, 16], "texture": "#all"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/hive.json b/src/main/resources/assets/unicopia/models/item/hive.json new file mode 100644 index 00000000..dbb7f204 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/hive.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "unicopia:block/hive_side" + } +} diff --git a/src/main/resources/assets/unicopia/textures/block/hive_core.png b/src/main/resources/assets/unicopia/textures/block/hive_core.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a0835395984052e95d4823f3de78ca766be641 GIT binary patch literal 4751 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 M)FNHwoaEg90AF9H1poj5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/block/hive_side.png b/src/main/resources/assets/unicopia/textures/block/hive_side.png new file mode 100644 index 0000000000000000000000000000000000000000..851c75f975bc874b1de4120d539155602225e2d0 GIT binary patch literal 4885 zcmeHKdsGuw8lQk7Lh%V|E!H7g1xhkAc`-?e5)&{{qZCk)7I89}z%1lJ5+ESTLs1lp zFA5e>(V}e;XcwqdvFmz@OAD)ZYgbg(iukUJ=)w9b2lh^QcYDqr&)NRRa4z?odw<{W ze)o63`@w7rS-#lKWu^-RL2fFgA{6wKnC9#Re$VdeB|!H*6`|6pRKAcicmYV(7>LDS zKw}NF9axT#BN*EP+7w_j7^cl+jkWiAz<#6OE&#T7KgI#r7|Q{21APf-JYc(nz8o}q zYu{Rb0XFkE+kce6VweZ|#VU0O%;RDxmoEVRD333}Pzff4F@Xg2mtbOmW|a;_#4x#c z&pQNIHq&x>h)OPpO=hExj;A2VRM5sALu zHg((73PVK08x8z@tM+#-NGSM_`tW&)?O&y?Qx=+|5?*{@`Hskp3H~5ncK~1FSC|@c zpI9XlwEML0Ex%uY+#BRh{d1m}o35+Kx`L z)o>8%iD_HX`7(~P?&+Q*%=7-`}$l%6@3BB2$mA1vzM=!y~K_ z>SYqrsOJ(|qlV(z^d{!Opn!!o6G6sNR#-#D&;}{Hv;H(2rnOS`YM~lco8(k1txPpj zVX4c*$<#PftYt4;;1Xby00KQ_C19IA-e8f~q-;B{1lY_l!iMb-Yn+rF0rE(0G*hsE zE8wD>ARC>;V=r)l1I${TBvcXHPXXSf>{zSSBtekme&Xu7@Q&#Y7>Yl*O26CaIt#%3z%{oI*9DR$4bC)`-}c8T)pI2Ljv&c}JiJ_HG9Qlv*uO z7|BE?Je5MqX4aQzjU=s=^qIIwL<%$-jz~v{I0DRH#LMEOEg#L?kG9!EgnS`Ln4I*x!(p#DO>PRyqS!zfmmX^@pf{P3t4 zDlMS$*W#!UMJW!3YsDZMl;993pXBg#q?Y0n6i$i6b}B6?2{xMb1UODwPsC7&$q-|o zU<8-QLR3;VkBbhCgv1k89dMAcm(hkq+t5Tft*64Q1fwP<68rQ0g*?8PCl=u%YzVZ9 zGFw0X`f+^MFKVhge90f1qAkSuosEkOc7S2IoxQBm$C<|?%=c28Ydmeg zN-%7{6cU2$+k%BiqO|rn0axD?8A}*qC{R86({*5+{+(37M3|P~kvNC&=Ys?Q8Nk6c zB0h%{@cc=X^v5*>e}29173Fwp@GYR7sYXvz;Bv-2HOpcT&y-M2GkuD)-$&z|H2T$ciyC zXMDH9B3T)}GCOp9SDM!a*DSc9E(uoi%L+0|A4r<2wNV8bfe$#5)6=@2PhUbG_J*C) zDrW6nJO38G+}R7$0Z>x?tn;!B<@c@@`!%Q7p6|maeAne!$rri+z{+h5C?M5g{A zpz6Q&+AaqHRthg_>EgncmdTaEqUL4pTjT5e%joTxwCCEj^%cT@M<0lo{#NvYbYji< zic8{s=eGDYXJm(MDEsWapHJRNs{6P@a=i7OZXiY3qi<`3aL(Zj{QOrZeIZ$^|MLSE zj-Cp3Ihf$dk{zhLe{x!H#7b|EIb&ise6w}p?AYSMxhncsr;KK^*NWADueteD^vQ$B z;yW3Zwyi`4=2RJ0%f-Vz_Ep2%**y!7xQ8y8@Xu|>4mX?_mv?{i>F$?XTjQ(5`+Z9s zD?MKP>D-HeKR5AT{Fkn_xhrj z8{aR?rV=jyqdk48ZH2o}#jFrtUGcoDRdX&}`tcXn^Bc}SbIiM+xtXpmxcyEcB|F|R z{=%bi(0-sRo|1@^}=J)Ynu*vFKMc7xXQZFMYm49+x2!2o}YHNyZcn{4ohBW p@lh$!q4aF@oPZchil~h@yOAkYs@N@w#Rmxuse+a(sur!w`VUnn;?V#A literal 0 HcmV?d00001 diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/hive.json b/src/main/resources/data/unicopia/loot_tables/blocks/hive.json new file mode 100644 index 00000000..ee8a6619 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/hive.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:hive" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/hive.json b/src/main/resources/data/unicopia/recipes/hive.json new file mode 100644 index 00000000..28e4e633 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/hive.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#o#", + " # " + ], + "key": { + "#": [ + { "item": "unicopia:chitin" } + ], + "o": [ + { "item": "unicopia:mysterious_egg" } + ] + }, + "result": { "item": "unicopia:hive", "count": 1 } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/worldgen/processor_list/changeling_hive_decay.json b/src/main/resources/data/unicopia/worldgen/processor_list/changeling_hive_decay.json new file mode 100644 index 00000000..63441ea5 --- /dev/null +++ b/src/main/resources/data/unicopia/worldgen/processor_list/changeling_hive_decay.json @@ -0,0 +1,22 @@ +[ + { + "processor_type": "minecraft:rule", + "rules": [ + { + "location_predicate": { + "predicate_type": "always_true" + }, + "input_predicate": { + "predicate_type": "random_block_match", + "block": "unicopia:chitin", + "probability": 0.2 + }, + "output_state": { + "name": "unicopia:hive", + "Name": "unicopia:hive", + "properties": [] + } + } + ] + } +] \ No newline at end of file diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/chamber_decors.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/chamber_decors.json index f067c8fc..a6162bb8 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/chamber_decors.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/chamber_decors.json @@ -15,9 +15,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/chamber_decoration/pillar", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrance_terminations.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrance_terminations.json index ecaa9709..254cee76 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrance_terminations.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrance_terminations.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/termination/blockade1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrances.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrances.json index 7c82dfc5..7d76054a 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrances.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/hidden_entrances.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/chamber1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -15,9 +13,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/chamber1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -26,13 +22,11 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/chamber2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 } ], - "fallback": "unicopia:hidden_entrance_terminations" + "fallback": "unicopia:changeling_hive/hidden_entrance_terminations" } \ No newline at end of file diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/pit_decors.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/pit_decors.json index dd523d2c..c2d1801b 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/pit_decors.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/pit_decors.json @@ -26,9 +26,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/pit_decoration/ruins", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shaft_terminations.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shaft_terminations.json index 257268f5..da8aff64 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shaft_terminations.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shaft_terminations.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/termination/shaft1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shafts.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shafts.json index 47fa6ba7..a35568d3 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shafts.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/shafts.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/shaft1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -15,9 +13,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/shaft2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -26,9 +22,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/shaft_bottom", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 3 @@ -37,9 +31,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/shaft_bottom2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 9 @@ -48,9 +40,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/shaft1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -59,9 +49,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/shaft2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -70,9 +58,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/shaft_bottom", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 3 @@ -81,9 +67,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/shaft_bottom2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 3 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/side_passages.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/side_passages.json index 96bcd1da..ea473791 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/side_passages.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/side_passages.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/offshoot1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -15,9 +13,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/offshoot2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 3 @@ -26,9 +22,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/offshoot_elbow", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -37,9 +31,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/offshoot_elbow2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -48,9 +40,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/chamber1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -59,9 +49,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/offshoot1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -70,9 +58,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/offshoot2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 3 @@ -81,9 +67,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/offshoot3", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -92,9 +76,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/offshoot_elbow", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -103,9 +85,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/offshoot_elbow2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -114,9 +94,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/chamber1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -125,9 +103,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/chamber2", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/start.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/start.json index f7a67754..116ba699 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/start.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/start.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/entrance", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -15,9 +13,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/entrance", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnel_terminations.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnel_terminations.json index d5ec3aee..ce6934a6 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnel_terminations.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnel_terminations.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/termination/tunnel1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -15,9 +13,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/termination/tunnel1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -26,9 +22,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/termination1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -37,9 +31,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/termination/blockade1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnels.json b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnels.json index 9eaedaa5..1c31aa8b 100644 --- a/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnels.json +++ b/src/main/resources/data/unicopia/worldgen/template_pool/changeling_hive/tunnels.json @@ -4,9 +4,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/termination1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -15,9 +13,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/offshoot_transition", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -26,9 +22,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/descent1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -37,9 +31,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/termination1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 @@ -48,9 +40,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/offshoot_transition", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 2 @@ -59,9 +49,7 @@ "element": { "element_type": "minecraft:single_pool_element", "location": "unicopia:changeling_hive/spiked/descent1", - "processors": { - "processors": [] - }, + "processors": "unicopia:changeling_hive_decay", "projection": "rigid" }, "weight": 1 diff --git a/src/main/resources/unicopia.mixin.json b/src/main/resources/unicopia.mixin.json index 06d71429..95738783 100644 --- a/src/main/resources/unicopia.mixin.json +++ b/src/main/resources/unicopia.mixin.json @@ -19,6 +19,7 @@ "MixinDamageSource", "MixinFallLocation", "MixinEntity", + "MixinEntityShapeContext", "MixinFallingBlock", "MixinFallingBlockEntity", "MixinFlowableFluid",