From 3804ccfc243c24bee92212c2e4f36b6360d4e1ad Mon Sep 17 00:00:00 2001 From: MCZME <13183052+mczme@user.noreply.gitee.com> Date: Tue, 13 Aug 2024 04:44:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=9A=E5=B9=B3=E5=BA=95?= =?UTF-8?q?=E9=94=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 3 +- .../71e72dbdeb626cc835aaccd2ae47fd3d8794cd24 | 3 +- .../85f12f813aff948f91f5cd129c0ffa86bcb17361 | 4 +- .../d88813880ae3e40e9724fa9bc86e438c1f5ddb3d | 3 +- .../resources/assets/lingshi/lang/zh_cn.json | 1 + .../assets/lingshi/models/item/skillet.json | 3 + .../lingshi/loot_table/blocks/skillet.json | 21 +++ .../data/lingshi/tags/block/can_support.json | 5 + .../mczme/lingshi/client/event/Registry.java | 4 +- .../common/block/ChoppingBoardBlock.java | 8 +- .../lingshi/common/block/SkilletBlock.java | 106 ++++++++++++ .../entity/ChoppingBoardBlockEntity.java | 7 +- .../block/entity/SkilletBlockEntity.java | 38 ++++ .../lingshi/common/data/BlockStates.java | 9 +- .../mczme/lingshi/common/data/ItemModels.java | 1 + .../data/lang/ChineseLanguageProvider.java | 2 + .../lingshi/common/data/loot/BlockLoot.java | 4 +- .../lingshi/common/data/tag/BlockTags.java | 3 + ...lockEntitys.java => BlockEntityTypes.java} | 9 +- .../lingshi/common/registry/ModBlocks.java | 2 + .../lingshi/common/registry/ModItems.java | 1 + .../mczme/lingshi/common/tag/ModTags.java | 1 + src/main/java/mczme/lingshi/lingshi.java | 2 +- .../assets/lingshi/blockstates/skillet.json | 34 ++++ .../assets/lingshi/models/block/skillet.json | 135 +++++++++++++++ .../lingshi/models/block/skillet_support.json | 162 ++++++++++++++++++ .../assets/lingshi/textures/block/skillet.png | Bin 0 -> 501 bytes .../assets/lingshi/textures/block/support.png | Bin 0 -> 379 bytes 28 files changed, 549 insertions(+), 22 deletions(-) create mode 100644 src/generated/resources/assets/lingshi/models/item/skillet.json create mode 100644 src/generated/resources/data/lingshi/loot_table/blocks/skillet.json create mode 100644 src/generated/resources/data/lingshi/tags/block/can_support.json create mode 100644 src/main/java/mczme/lingshi/common/block/SkilletBlock.java create mode 100644 src/main/java/mczme/lingshi/common/block/entity/SkilletBlockEntity.java rename src/main/java/mczme/lingshi/common/registry/{BlockEntitys.java => BlockEntityTypes.java} (70%) create mode 100644 src/main/resources/assets/lingshi/blockstates/skillet.json create mode 100644 src/main/resources/assets/lingshi/models/block/skillet.json create mode 100644 src/main/resources/assets/lingshi/models/block/skillet_support.json create mode 100644 src/main/resources/assets/lingshi/textures/block/skillet.png create mode 100644 src/main/resources/assets/lingshi/textures/block/support.png diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 18f22d6..6041b3a 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,5 @@ -// 1.21 2024-08-10T17:07:03.6586838 Loot Tables +// 1.21 2024-08-13T03:55:33.7091711 Loot Tables 032b2242788b8411178136ca48214246ef2af8a9 data/lingshi/loot_table/blocks/chopping_board.json +67cc122cf5e7e5865ff9bc81fec6e8371225b0d6 data/lingshi/loot_table/blocks/skillet.json c843630bb0739aad37078f0119c9cc31f5316c3a data/lingshi/loot_table/blocks/tea_leaf.json 3cd0ced47f090fec162cddcb8b2f75284fa134cb data/lingshi/loot_table/blocks/tea_tree.json diff --git a/src/generated/resources/.cache/71e72dbdeb626cc835aaccd2ae47fd3d8794cd24 b/src/generated/resources/.cache/71e72dbdeb626cc835aaccd2ae47fd3d8794cd24 index 597b61a..91fb71c 100644 --- a/src/generated/resources/.cache/71e72dbdeb626cc835aaccd2ae47fd3d8794cd24 +++ b/src/generated/resources/.cache/71e72dbdeb626cc835aaccd2ae47fd3d8794cd24 @@ -1,6 +1,7 @@ -// 1.21 2024-08-12T10:19:52.413361 Item Models: lingshi +// 1.21 2024-08-13T04:10:11.5053055 Item Models: lingshi bad0cb5e093fa42331c2d4a1157d1a7b5b3fc588 assets/lingshi/models/item/chopping_board.json 249957a6811e300efca306db358e468855851d73 assets/lingshi/models/item/iron_knife.json 496d711c2d4af0f851d40f859b102da69188089d assets/lingshi/models/item/rice.json abe8ae1523c26af167289fe958382b2477d96ea1 assets/lingshi/models/item/rice_of_ear.json 57cfb1f90de649ab0f56f107cb56e1d0d2f87ae6 assets/lingshi/models/item/rice_seedling.json +cff85c127954ba63ac8129929c0d7346bf8f305d assets/lingshi/models/item/skillet.json diff --git a/src/generated/resources/.cache/85f12f813aff948f91f5cd129c0ffa86bcb17361 b/src/generated/resources/.cache/85f12f813aff948f91f5cd129c0ffa86bcb17361 index eef8c5b..7a6b941 100644 --- a/src/generated/resources/.cache/85f12f813aff948f91f5cd129c0ffa86bcb17361 +++ b/src/generated/resources/.cache/85f12f813aff948f91f5cd129c0ffa86bcb17361 @@ -1,2 +1,2 @@ -// 1.21 2024-08-11T20:03:29.7270915 Languages: zh_cn for mod: lingshi -ceb883a13057e1c30eaabbc27de7a3819e5e58b5 assets/lingshi/lang/zh_cn.json +// 1.21 2024-08-13T03:55:33.7111786 Languages: zh_cn for mod: lingshi +6691b4e3de41dca51664777d2790f94bd059d1ac assets/lingshi/lang/zh_cn.json diff --git a/src/generated/resources/.cache/d88813880ae3e40e9724fa9bc86e438c1f5ddb3d b/src/generated/resources/.cache/d88813880ae3e40e9724fa9bc86e438c1f5ddb3d index d3e9368..3b25ea5 100644 --- a/src/generated/resources/.cache/d88813880ae3e40e9724fa9bc86e438c1f5ddb3d +++ b/src/generated/resources/.cache/d88813880ae3e40e9724fa9bc86e438c1f5ddb3d @@ -1,3 +1,4 @@ -// 1.21 2024-08-11T19:15:15.9707849 Tags for minecraft:block mod id lingshi +// 1.21 2024-08-13T03:35:37.9402366 Tags for minecraft:block mod id lingshi +639716446e0ad4bc759f5d086b91d0e4a9215ab7 data/lingshi/tags/block/can_support.json 8f3ae1f87856cf69d686ec0be92f6b700f51bd30 data/lingshi/tags/block/heat_source.json e00d57f2828f9f55903e8c8c9f4b95dfeca4135d data/minecraft/tags/block/mineable/axe.json diff --git a/src/generated/resources/assets/lingshi/lang/zh_cn.json b/src/generated/resources/assets/lingshi/lang/zh_cn.json index 535ad79..07d1cd8 100644 --- a/src/generated/resources/assets/lingshi/lang/zh_cn.json +++ b/src/generated/resources/assets/lingshi/lang/zh_cn.json @@ -2,6 +2,7 @@ "block.lingshi.chopping_board": "砧板", "block.lingshi.rice": "稻米", "block.lingshi.rice_seedling": "稻苗", + "block.lingshi.skillet": "平底锅", "block.lingshi.tea_tree": "茶树", "item.lingshi.iron_knife": "铁菜刀", "item.lingshi.rice_of_ear": "稻穗", diff --git a/src/generated/resources/assets/lingshi/models/item/skillet.json b/src/generated/resources/assets/lingshi/models/item/skillet.json new file mode 100644 index 0000000..712015b --- /dev/null +++ b/src/generated/resources/assets/lingshi/models/item/skillet.json @@ -0,0 +1,3 @@ +{ + "parent": "lingshi:block/skillet" +} \ No newline at end of file diff --git a/src/generated/resources/data/lingshi/loot_table/blocks/skillet.json b/src/generated/resources/data/lingshi/loot_table/blocks/skillet.json new file mode 100644 index 0000000..8b2699b --- /dev/null +++ b/src/generated/resources/data/lingshi/loot_table/blocks/skillet.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lingshi:skillet" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lingshi:blocks/skillet" +} \ No newline at end of file diff --git a/src/generated/resources/data/lingshi/tags/block/can_support.json b/src/generated/resources/data/lingshi/tags/block/can_support.json new file mode 100644 index 0000000..f6fd1e4 --- /dev/null +++ b/src/generated/resources/data/lingshi/tags/block/can_support.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:campfire" + ] +} \ No newline at end of file diff --git a/src/main/java/mczme/lingshi/client/event/Registry.java b/src/main/java/mczme/lingshi/client/event/Registry.java index 911b790..e49bd68 100644 --- a/src/main/java/mczme/lingshi/client/event/Registry.java +++ b/src/main/java/mczme/lingshi/client/event/Registry.java @@ -1,7 +1,7 @@ package mczme.lingshi.client.event; import mczme.lingshi.client.BlockEntityRenderer.ChoppingBoardBER; -import mczme.lingshi.common.registry.BlockEntitys; +import mczme.lingshi.common.registry.BlockEntityTypes; import mczme.lingshi.lingshi; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; @@ -12,6 +12,6 @@ public class Registry { @SubscribeEvent public static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) { - event.registerBlockEntityRenderer(BlockEntitys.CHOPPING_BOARD_BLOCKENTITY.get(), ChoppingBoardBER::new); + event.registerBlockEntityRenderer(BlockEntityTypes.CHOPPING_BOARD_BLOCKENTITY.get(), ChoppingBoardBER::new); } } diff --git a/src/main/java/mczme/lingshi/common/block/ChoppingBoardBlock.java b/src/main/java/mczme/lingshi/common/block/ChoppingBoardBlock.java index f266c84..01cb216 100644 --- a/src/main/java/mczme/lingshi/common/block/ChoppingBoardBlock.java +++ b/src/main/java/mczme/lingshi/common/block/ChoppingBoardBlock.java @@ -59,9 +59,7 @@ protected MapCodec codec() { } @Override - public ItemInteractionResult useItemOn( - ItemStack pStack, BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHitResult - ) { + public ItemInteractionResult useItemOn(ItemStack pStack, BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHitResult) { if (pLevel.getBlockEntity(pPos) instanceof ChoppingBoardBlockEntity blockEntity) { if (!pStack.isEmpty()) { if (pStack.is(NeoforgeTags.KNIFE) && !blockEntity.getTheItem().isEmpty()) { @@ -71,8 +69,8 @@ public ItemInteractionResult useItemOn( } stacks.forEach(itemStack -> Containers.dropItemStack(pLevel, pPos.getX(), pPos.getY(), pPos.getZ(), itemStack)); blockEntity.setTheItem(ItemStack.EMPTY); - if(!pLevel.isClientSide()){ - pStack.hurtAndBreak(1, pPlayer, EquipmentSlot.MAINHAND); + if (!pLevel.isClientSide()) { + pStack.hurtAndBreak(1, pPlayer, EquipmentSlot.MAINHAND); } blockEntity.setChanged(); return ItemInteractionResult.SUCCESS; diff --git a/src/main/java/mczme/lingshi/common/block/SkilletBlock.java b/src/main/java/mczme/lingshi/common/block/SkilletBlock.java new file mode 100644 index 0000000..4c6d91c --- /dev/null +++ b/src/main/java/mczme/lingshi/common/block/SkilletBlock.java @@ -0,0 +1,106 @@ +package mczme.lingshi.common.block; + +import com.mojang.serialization.MapCodec; +import mczme.lingshi.common.block.entity.SkilletBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +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.BaseEntityBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import static mczme.lingshi.common.tag.ModTags.CAN_SUPPORT; + +public class SkilletBlock extends BaseEntityBlock { + + public static final BooleanProperty HAS_SUPPORT = BooleanProperty.create("has_support"); + public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; + public static final VoxelShape SHAPE = Block.box(1, 0, 1, 15, 3, 15); + + public SkilletBlock(Properties pProperties) { + super(pProperties); + this.registerDefaultState(this.defaultBlockState().setValue(FACING, Direction.NORTH).setValue(HAS_SUPPORT, false)); + } + + @Override + protected MapCodec codec() { + return null; + } + + public ItemInteractionResult useItemOn(ItemStack pStack, BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHitResult) { + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + @Override + protected InteractionResult useWithoutItem(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, BlockHitResult pHitResult) { + return InteractionResult.PASS; + } + + @Nullable + @Override + public BlockEntity newBlockEntity(BlockPos pPos, BlockState pState) { + return new SkilletBlockEntity(pPos, pState); + } + + @Override + protected VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return SHAPE; + } + + @Override + protected @NotNull VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return pState.getValue(HAS_SUPPORT) ? Shapes.or(SHAPE, Block.box(0, -1, 0, 16, 0, 16)) : pState.getShape(pLevel, pPos); + } + + @Override + protected boolean canSurvive(BlockState pState, LevelReader pLevel, BlockPos pPos) { + return pLevel.getBlockState(pPos.below()).is(CAN_SUPPORT) || canSupportRigidBlock(pLevel, pPos.below()) || canSupportCenter(pLevel, pPos.below(), Direction.UP); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + boolean isSupport = pContext.getLevel().getBlockState(pContext.getClickedPos().below()).is(CAN_SUPPORT); + return this.defaultBlockState().setValue(FACING, pContext.getHorizontalDirection()).setValue(HAS_SUPPORT, isSupport); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pFacing, BlockState pFacingState, LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pFacingPos) { + if (!pState.canSurvive(pLevel, pCurrentPos)) { + return Blocks.AIR.defaultBlockState(); + } + return super.updateShape(pState, pFacing, pFacingState, pLevel, pCurrentPos, pFacingPos); + } + + @Override + public RenderShape getRenderShape(BlockState pState) { + return RenderShape.MODEL; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + pBuilder.add(FACING, HAS_SUPPORT); + } + +} diff --git a/src/main/java/mczme/lingshi/common/block/entity/ChoppingBoardBlockEntity.java b/src/main/java/mczme/lingshi/common/block/entity/ChoppingBoardBlockEntity.java index 4d2d398..9b24693 100644 --- a/src/main/java/mczme/lingshi/common/block/entity/ChoppingBoardBlockEntity.java +++ b/src/main/java/mczme/lingshi/common/block/entity/ChoppingBoardBlockEntity.java @@ -1,7 +1,7 @@ package mczme.lingshi.common.block.entity; import mczme.lingshi.common.recipe.ChoppingBoardRecipe; -import mczme.lingshi.common.registry.BlockEntitys; +import mczme.lingshi.common.registry.BlockEntityTypes; import mczme.lingshi.common.registry.ModRecipes; import mczme.lingshi.common.tag.NeoforgeTags; import net.minecraft.core.BlockPos; @@ -24,11 +24,10 @@ public class ChoppingBoardBlockEntity extends BlockEntity implements ContainerSi private ItemStack item = ItemStack.EMPTY; public ChoppingBoardBlockEntity( BlockPos pPos, BlockState pBlockState) { - super(BlockEntitys.CHOPPING_BOARD_BLOCKENTITY.get(), pPos, pBlockState); + super(BlockEntityTypes.CHOPPING_BOARD_BLOCKENTITY.get(), pPos, pBlockState); } - - + @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { return ClientboundBlockEntityDataPacket.create(this); } diff --git a/src/main/java/mczme/lingshi/common/block/entity/SkilletBlockEntity.java b/src/main/java/mczme/lingshi/common/block/entity/SkilletBlockEntity.java new file mode 100644 index 0000000..e934171 --- /dev/null +++ b/src/main/java/mczme/lingshi/common/block/entity/SkilletBlockEntity.java @@ -0,0 +1,38 @@ +package mczme.lingshi.common.block.entity; + +import mczme.lingshi.common.registry.BlockEntityTypes; +import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; + +public class SkilletBlockEntity extends BlockEntity { + + + + public SkilletBlockEntity(BlockPos pPos, BlockState pBlockState) { + super(BlockEntityTypes.SKILLET_BLOCKENTITY.get(), pPos, pBlockState); + } + + @Override + public ClientboundBlockEntityDataPacket getUpdatePacket() { + return ClientboundBlockEntityDataPacket.create(this); + } + + @Override + public CompoundTag getUpdateTag(HolderLookup.Provider pRegistries) { + return this.saveCustomOnly(pRegistries); + } + + @Override + protected void loadAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) { + + } + + @Override + protected void saveAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) { + super.saveAdditional(pTag, pRegistries); + } +} diff --git a/src/main/java/mczme/lingshi/common/data/BlockStates.java b/src/main/java/mczme/lingshi/common/data/BlockStates.java index 0401af9..ec4b2d5 100644 --- a/src/main/java/mczme/lingshi/common/data/BlockStates.java +++ b/src/main/java/mczme/lingshi/common/data/BlockStates.java @@ -4,6 +4,7 @@ import mczme.lingshi.lingshi; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.neoforged.neoforge.client.model.generators.BlockStateProvider; import net.neoforged.neoforge.client.model.generators.ConfiguredModel; @@ -21,10 +22,14 @@ public BlockStates(PackOutput output, ExistingFileHelper exFileHelper) { @Override protected void registerStatesAndModels() { - VariantBlockStateBuilder variantBuilder = getVariantBuilder(ModBlocks.CHOPPING_BOARD.get()); + horizontalBlock(ModBlocks.CHOPPING_BOARD.get(), "block/chopping_board"); + } + + private void horizontalBlock(Block block, String modelLocation) { + VariantBlockStateBuilder variantBuilder = getVariantBuilder(block); variantBuilder.forAllStates(state -> ConfiguredModel.builder() - .modelFile(modelFile("block/chopping_board")) + .modelFile(modelFile(modelLocation)) .rotationY((int) state.getValue(BlockStateProperties.HORIZONTAL_FACING).toYRot()) .build()); } diff --git a/src/main/java/mczme/lingshi/common/data/ItemModels.java b/src/main/java/mczme/lingshi/common/data/ItemModels.java index a91f0b8..661d24a 100644 --- a/src/main/java/mczme/lingshi/common/data/ItemModels.java +++ b/src/main/java/mczme/lingshi/common/data/ItemModels.java @@ -18,6 +18,7 @@ protected void registerModels() { basicItem(ModItems.RICE_SEEDLING.get()); withExistingParent(String.valueOf(ModItems.CHOPPING_BOARD.get()), modLoc("block/chopping_board")); + withExistingParent(String.valueOf(ModItems.SKILLET.get()), modLoc("block/skillet")); withExistingParent(String.valueOf(ModItems.IRON_KNIFE.get()),mcLoc("item/handheld")).texture("layer0", modLoc("item/iron_knife")); diff --git a/src/main/java/mczme/lingshi/common/data/lang/ChineseLanguageProvider.java b/src/main/java/mczme/lingshi/common/data/lang/ChineseLanguageProvider.java index 87b87d7..ef149e6 100644 --- a/src/main/java/mczme/lingshi/common/data/lang/ChineseLanguageProvider.java +++ b/src/main/java/mczme/lingshi/common/data/lang/ChineseLanguageProvider.java @@ -24,5 +24,7 @@ protected void addTranslations() { this.add(ModItems.CHOPPING_BOARD.get(), "砧板"); this.add(ModItems.IRON_KNIFE.get(), "铁菜刀"); + + this.add(ModItems.SKILLET.get(), "平底锅"); } } diff --git a/src/main/java/mczme/lingshi/common/data/loot/BlockLoot.java b/src/main/java/mczme/lingshi/common/data/loot/BlockLoot.java index 383c495..5991925 100644 --- a/src/main/java/mczme/lingshi/common/data/loot/BlockLoot.java +++ b/src/main/java/mczme/lingshi/common/data/loot/BlockLoot.java @@ -14,7 +14,8 @@ public class BlockLoot extends BlockLootSubProvider { public static final Set BLOCK = Set.of( ModBlocks.TEA_TREE.get(), ModBlocks.TEA_LEAF.get(), - ModBlocks.CHOPPING_BOARD.get() + ModBlocks.CHOPPING_BOARD.get(), + ModBlocks.SKILLET.get() ); public BlockLoot(HolderLookup.Provider lookupProvider) { @@ -27,6 +28,7 @@ protected void generate() { dropSelf(ModBlocks.TEA_TREE.get()); dropOther(ModBlocks.TEA_LEAF.get(), ModItems.TEA_LEAF.get()); dropSelf(ModBlocks.CHOPPING_BOARD.get()); + dropSelf(ModBlocks.SKILLET.get()); } @Override diff --git a/src/main/java/mczme/lingshi/common/data/tag/BlockTags.java b/src/main/java/mczme/lingshi/common/data/tag/BlockTags.java index 28ef9db..e729292 100644 --- a/src/main/java/mczme/lingshi/common/data/tag/BlockTags.java +++ b/src/main/java/mczme/lingshi/common/data/tag/BlockTags.java @@ -28,5 +28,8 @@ protected void addTags(HolderLookup.@NotNull Provider pProvider) { // 热源方块 tag(HEAT_SOURCE).add(Blocks.CAMPFIRE, Blocks.MAGMA_BLOCK); + +// 可以支撑方块 + tag(CAN_SUPPORT).add(Blocks.CAMPFIRE); } } diff --git a/src/main/java/mczme/lingshi/common/registry/BlockEntitys.java b/src/main/java/mczme/lingshi/common/registry/BlockEntityTypes.java similarity index 70% rename from src/main/java/mczme/lingshi/common/registry/BlockEntitys.java rename to src/main/java/mczme/lingshi/common/registry/BlockEntityTypes.java index 39eaee0..3e1aa67 100644 --- a/src/main/java/mczme/lingshi/common/registry/BlockEntitys.java +++ b/src/main/java/mczme/lingshi/common/registry/BlockEntityTypes.java @@ -1,6 +1,7 @@ package mczme.lingshi.common.registry; import mczme.lingshi.common.block.entity.ChoppingBoardBlockEntity; +import mczme.lingshi.common.block.entity.SkilletBlockEntity; import mczme.lingshi.lingshi; import net.minecraft.core.registries.Registries; import net.minecraft.world.level.block.entity.BlockEntityType; @@ -9,15 +10,19 @@ import java.util.function.Supplier; -public class BlockEntitys { +public class BlockEntityTypes { public static final DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, lingshi.MODID); public static final Supplier> CHOPPING_BOARD_BLOCKENTITY = BLOCK_ENTITIES.register("chopping_board_blockentity", () -> - BlockEntityType.Builder.of(ChoppingBoardBlockEntity::new, + BlockEntityType.Builder.of(ChoppingBoardBlockEntity::new, ModBlocks.CHOPPING_BOARD.get()).build(null)); + public static final Supplier> SKILLET_BLOCKENTITY = + BLOCK_ENTITIES.register("skillet_blockentity", () -> + BlockEntityType.Builder.of(SkilletBlockEntity::new, + ModBlocks.SKILLET.get()).build(null)); public static void register(IEventBus eventBus) { BLOCK_ENTITIES.register(eventBus); diff --git a/src/main/java/mczme/lingshi/common/registry/ModBlocks.java b/src/main/java/mczme/lingshi/common/registry/ModBlocks.java index 4029af6..6b2a2f4 100644 --- a/src/main/java/mczme/lingshi/common/registry/ModBlocks.java +++ b/src/main/java/mczme/lingshi/common/registry/ModBlocks.java @@ -28,6 +28,8 @@ public class ModBlocks { public static final Supplier TEA_LEAF = BLOCKS.registerBlock("tea_leaf", TeaBlock::new, BlockBehaviour.Properties.of().randomTicks().mapColor(MapColor.PLANT).noCollission().instabreak().sound(SoundType.CROP).pushReaction(PushReaction.DESTROY)); + public static final Supplier SKILLET = BLOCKS.registerBlock("skillet", SkilletBlock::new, + BlockBehaviour.Properties.of()); public static final Supplier CHOPPING_BOARD = BLOCKS.registerBlock("chopping_board", ChoppingBoardBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS)); diff --git a/src/main/java/mczme/lingshi/common/registry/ModItems.java b/src/main/java/mczme/lingshi/common/registry/ModItems.java index 4af14d0..59254fa 100644 --- a/src/main/java/mczme/lingshi/common/registry/ModItems.java +++ b/src/main/java/mczme/lingshi/common/registry/ModItems.java @@ -24,6 +24,7 @@ public class ModItems { public static final Supplier TEA_TREE = registerWithCreateTab("tea_tree", () -> new BlockItem(ModBlocks.TEA_TREE.get(), new Item.Properties())); public static final Supplier TEA_LEAF = registerWithCreateTab("tea_leaf", () -> new Item(new Item.Properties())); + public static final Supplier SKILLET = registerWithCreateTab("skillet", () -> new BlockItem(ModBlocks.SKILLET.get(),new Item.Properties())); public static final Supplier CHOPPING_BOARD = registerWithCreateTab("chopping_board", () -> new BlockItem(ModBlocks.CHOPPING_BOARD.get(), new Item.Properties())); public static final Supplier IRON_KNIFE = registerWithCreateTab("iron_knife", () -> new KnifeItem(Tiers.IRON,new Item.Properties().attributes(SwordItem.createAttributes(Tiers.IRON, 3, -2.4F)))); diff --git a/src/main/java/mczme/lingshi/common/tag/ModTags.java b/src/main/java/mczme/lingshi/common/tag/ModTags.java index 156da6e..97bc103 100644 --- a/src/main/java/mczme/lingshi/common/tag/ModTags.java +++ b/src/main/java/mczme/lingshi/common/tag/ModTags.java @@ -9,6 +9,7 @@ public class ModTags { public static final TagKey HEAT_SOURCE = modTag(Registries.BLOCK, "heat_source"); + public static final TagKey CAN_SUPPORT = modTag(Registries.BLOCK, "can_support"); private static TagKey modTag(net.minecraft.resources.ResourceKey> pRegistry, String name) { return TagKey.create(pRegistry, ResourceLocation.fromNamespaceAndPath(lingshi.MODID, name)); diff --git a/src/main/java/mczme/lingshi/lingshi.java b/src/main/java/mczme/lingshi/lingshi.java index 0a61af7..a1a2328 100644 --- a/src/main/java/mczme/lingshi/lingshi.java +++ b/src/main/java/mczme/lingshi/lingshi.java @@ -24,7 +24,7 @@ public lingshi(IEventBus modEventBus, ModContainer modContainer) ModBlocks.register(modEventBus); ModItems.register(modEventBus); CreateTabs.register(modEventBus); - BlockEntitys.register(modEventBus); + BlockEntityTypes.register(modEventBus); ModRecipes.register(modEventBus); ModSerializer.register(modEventBus); diff --git a/src/main/resources/assets/lingshi/blockstates/skillet.json b/src/main/resources/assets/lingshi/blockstates/skillet.json new file mode 100644 index 0000000..f215735 --- /dev/null +++ b/src/main/resources/assets/lingshi/blockstates/skillet.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,has_support=false": { + "model": "lingshi:block/skillet", + "y": 270 + }, + "facing=north,has_support=false": { + "model": "lingshi:block/skillet", + "y": 180 + }, + "facing=south,has_support=false": { + "model": "lingshi:block/skillet" + }, + "facing=west,has_support=false": { + "model": "lingshi:block/skillet", + "y": 90 + }, + "facing=east,has_support=true": { + "model": "lingshi:block/skillet_support", + "y": 270 + }, + "facing=north,has_support=true": { + "model": "lingshi:block/skillet_support", + "y": 180 + }, + "facing=south,has_support=true": { + "model": "lingshi:block/skillet_support" + }, + "facing=west,has_support=true": { + "model": "lingshi:block/skillet_support", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lingshi/models/block/skillet.json b/src/main/resources/assets/lingshi/models/block/skillet.json new file mode 100644 index 0000000..2d0431c --- /dev/null +++ b/src/main/resources/assets/lingshi/models/block/skillet.json @@ -0,0 +1,135 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "lingshi:block/skillet", + "particle": "lingshi:block/skillet" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 1, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [5.5, 4.75, 9, 5], "texture": "#0"}, + "east": {"uv": [5.5, 4, 9, 4.25], "texture": "#0"}, + "south": {"uv": [5.5, 4.25, 9, 4.5], "texture": "#0"}, + "west": {"uv": [5.5, 4.5, 9, 4.75], "texture": "#0"}, + "up": {"uv": [3.5, 3.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.5, 3.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 3, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [3.5, 0.5, 7, 1], "texture": "#0"}, + "east": {"uv": [6.5, 2, 6.75, 2.5], "texture": "#0"}, + "south": {"uv": [3.5, 0, 7, 0.5], "texture": "#0"}, + "west": {"uv": [6.5, 2.5, 6.75, 3], "texture": "#0"}, + "up": {"uv": [5.75, 8.5, 5.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 5, 5.75, 8.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 1, 14], + "to": [15, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [3.5, 1.5, 7, 2], "texture": "#0"}, + "east": {"uv": [6.5, 3, 6.75, 3.5], "texture": "#0"}, + "south": {"uv": [3.5, 1, 7, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 3.5, 6.75, 4], "texture": "#0"}, + "up": {"uv": [3.75, 9.5, 3.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 3.75, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 1, 2], + "to": [15, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [4.25, 6.5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [3.5, 2, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [4, 6.5, 4.25, 7], "texture": "#0"}, + "west": {"uv": [3.5, 2.5, 6.5, 3], "texture": "#0"}, + "up": {"uv": [9, 5.25, 6, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 5.25, 6, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 1, 2], + "to": [2, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [4.75, 6.5, 5, 7], "texture": "#0"}, + "east": {"uv": [3.5, 3, 6.5, 3.5], "texture": "#0"}, + "south": {"uv": [4.5, 6.5, 4.75, 7], "texture": "#0"}, + "west": {"uv": [3.5, 3.5, 6.5, 4], "texture": "#0"}, + "up": {"uv": [9, 5.75, 6, 5.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 5.75, 6, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7, 1, -7], + "to": [9, 3, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8.25, 1.25, 6]}, + "faces": { + "north": {"uv": [4.5, 6, 5, 6.5], "texture": "#0"}, + "east": {"uv": [3.5, 4, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [4, 6, 4.5, 6.5], "texture": "#0"}, + "west": {"uv": [3.5, 4.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 3.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7, 1, 15], + "to": [9, 3, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8.25, 1.25, 6]}, + "faces": { + "north": {"uv": [6, 6, 6.5, 6.5], "texture": "#0"}, + "east": {"uv": [5, 6.5, 5.25, 7], "texture": "#0"}, + "south": {"uv": [5, 6, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [5.25, 6.5, 5.5, 7], "texture": "#0"}, + "up": {"uv": [6.25, 7, 6, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.75, 6, 6.5, 6.5], "rotation": 270, "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [90, 180, 0], + "translation": [0, 7, 5], + "scale": [0.55, 0.55, 0.55] + }, + "thirdperson_lefthand": { + "rotation": [90, 180, 0], + "translation": [0, 7, 5], + "scale": [0.55, 0.55, 0.55] + }, + "firstperson_righthand": { + "rotation": [71, 180, 0], + "translation": [-3.25, 7, 4.5], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [71, 180, 0], + "translation": [-3.25, 7, 4.5], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 5.5, 0] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.6, 0.6, 0.6] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lingshi/models/block/skillet_support.json b/src/main/resources/assets/lingshi/models/block/skillet_support.json new file mode 100644 index 0000000..c46243a --- /dev/null +++ b/src/main/resources/assets/lingshi/models/block/skillet_support.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "1": "lingshi:block/support", + "particle": "lingshi:block/skillet" + }, + "elements": [ + { + "from": [0, -16, 0], + "to": [1, -1, 1], + "faces": { + "north": {"uv": [5, 1, 5.25, 4.75], "texture": "#1"}, + "east": {"uv": [5, 4.75, 5.25, 8.5], "texture": "#1"}, + "south": {"uv": [5.25, 1, 5.5, 4.75], "texture": "#1"}, + "west": {"uv": [5.25, 4.75, 5.5, 8.5], "texture": "#1"}, + "up": {"uv": [6.25, 2.25, 6, 2], "texture": "#1"}, + "down": {"uv": [6.25, 2.25, 6, 2.5], "texture": "#1"} + } + }, + { + "from": [15, -16, 0], + "to": [16, -1, 1], + "faces": { + "north": {"uv": [5.5, 1, 5.75, 4.75], "texture": "#1"}, + "east": {"uv": [5.5, 4.75, 5.75, 8.5], "texture": "#1"}, + "south": {"uv": [5.75, 1, 6, 4.75], "texture": "#1"}, + "west": {"uv": [5.75, 4.75, 6, 8.5], "texture": "#1"}, + "up": {"uv": [6.25, 2.75, 6, 2.5], "texture": "#1"}, + "down": {"uv": [6.25, 2.75, 6, 3], "texture": "#1"} + } + }, + { + "from": [0, -16, 15], + "to": [1, -1, 16], + "faces": { + "north": {"uv": [4, 4.75, 4.25, 8.5], "texture": "#1"}, + "east": {"uv": [4.25, 4.75, 4.5, 8.5], "texture": "#1"}, + "south": {"uv": [4.5, 4.75, 4.75, 8.5], "texture": "#1"}, + "west": {"uv": [4.75, 4.75, 5, 8.5], "texture": "#1"}, + "up": {"uv": [6.25, 1.75, 6, 1.5], "texture": "#1"}, + "down": {"uv": [6.25, 1.75, 6, 2], "texture": "#1"} + } + }, + { + "from": [15, -16, 15], + "to": [16, -1, 16], + "faces": { + "north": {"uv": [4, 1, 4.25, 4.75], "texture": "#1"}, + "east": {"uv": [4.25, 1, 4.5, 4.75], "texture": "#1"}, + "south": {"uv": [4.5, 1, 4.75, 4.75], "texture": "#1"}, + "west": {"uv": [4.75, 1, 5, 4.75], "texture": "#1"}, + "up": {"uv": [6.25, 1.25, 6, 1], "texture": "#1"}, + "down": {"uv": [6.25, 1.25, 6, 1.5], "texture": "#1"} + } + }, + { + "from": [0, -1, 0], + "to": [16, 0, 16], + "faces": { + "north": {"uv": [4, 0, 8, 0.25], "texture": "#1"}, + "east": {"uv": [4, 0.25, 8, 0.5], "texture": "#1"}, + "south": {"uv": [4, 0.5, 8, 0.75], "texture": "#1"}, + "west": {"uv": [4, 0.75, 8, 1], "texture": "#1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#1"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 1, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [5.5, 4.75, 9, 5], "texture": "#particle"}, + "east": {"uv": [5.5, 4, 9, 4.25], "texture": "#particle"}, + "south": {"uv": [5.5, 4.25, 9, 4.5], "texture": "#particle"}, + "west": {"uv": [5.5, 4.5, 9, 4.75], "texture": "#particle"}, + "up": {"uv": [3.5, 3.5, 0, 0], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [3.5, 3.5, 0, 7], "rotation": 270, "texture": "#particle"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 3, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [3.5, 0.5, 7, 1], "texture": "#particle"}, + "east": {"uv": [6.5, 2, 6.75, 2.5], "texture": "#particle"}, + "south": {"uv": [3.5, 0, 7, 0.5], "texture": "#particle"}, + "west": {"uv": [6.5, 2.5, 6.75, 3], "texture": "#particle"}, + "up": {"uv": [5.75, 8.5, 5.5, 5], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [6, 5, 5.75, 8.5], "rotation": 270, "texture": "#particle"} + } + }, + { + "from": [1, 1, 14], + "to": [15, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [3.5, 1.5, 7, 2], "texture": "#particle"}, + "east": {"uv": [6.5, 3, 6.75, 3.5], "texture": "#particle"}, + "south": {"uv": [3.5, 1, 7, 1.5], "texture": "#particle"}, + "west": {"uv": [6.5, 3.5, 6.75, 4], "texture": "#particle"}, + "up": {"uv": [3.75, 9.5, 3.5, 6], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [4, 6, 3.75, 9.5], "rotation": 270, "texture": "#particle"} + } + }, + { + "from": [14, 1, 2], + "to": [15, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [4.25, 6.5, 4.5, 7], "texture": "#particle"}, + "east": {"uv": [3.5, 2, 6.5, 2.5], "texture": "#particle"}, + "south": {"uv": [4, 6.5, 4.25, 7], "texture": "#particle"}, + "west": {"uv": [3.5, 2.5, 6.5, 3], "texture": "#particle"}, + "up": {"uv": [9, 5.25, 6, 5], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [9, 5.25, 6, 5.5], "rotation": 270, "texture": "#particle"} + } + }, + { + "from": [1, 1, 2], + "to": [2, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1.25, 6.25]}, + "faces": { + "north": {"uv": [4.75, 6.5, 5, 7], "texture": "#particle"}, + "east": {"uv": [3.5, 3, 6.5, 3.5], "texture": "#particle"}, + "south": {"uv": [4.5, 6.5, 4.75, 7], "texture": "#particle"}, + "west": {"uv": [3.5, 3.5, 6.5, 4], "texture": "#particle"}, + "up": {"uv": [9, 5.75, 6, 5.5], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [9, 5.75, 6, 6], "rotation": 270, "texture": "#particle"} + } + }, + { + "from": [7, 1, -7], + "to": [9, 3, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8.25, 1.25, 6]}, + "faces": { + "north": {"uv": [4.5, 6, 5, 6.5], "texture": "#particle"}, + "east": {"uv": [3.5, 4, 5.5, 4.5], "texture": "#particle"}, + "south": {"uv": [4, 6, 4.5, 6.5], "texture": "#particle"}, + "west": {"uv": [3.5, 4.5, 5.5, 5], "texture": "#particle"}, + "up": {"uv": [5.5, 5.5, 3.5, 5], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [5.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#particle"} + } + }, + { + "from": [7, 1, 15], + "to": [9, 3, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8.25, 1.25, 6]}, + "faces": { + "north": {"uv": [6, 6, 6.5, 6.5], "texture": "#particle"}, + "east": {"uv": [5, 6.5, 5.25, 7], "texture": "#particle"}, + "south": {"uv": [5, 6, 5.5, 6.5], "texture": "#particle"}, + "west": {"uv": [5.25, 6.5, 5.5, 7], "texture": "#particle"}, + "up": {"uv": [6.25, 7, 6, 6.5], "rotation": 90, "texture": "#particle"}, + "down": {"uv": [6.75, 6, 6.5, 6.5], "rotation": 270, "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lingshi/textures/block/skillet.png b/src/main/resources/assets/lingshi/textures/block/skillet.png new file mode 100644 index 0000000000000000000000000000000000000000..cd70b945a4fd03b8c8eaa4538cd6a33cda3a0cf7 GIT binary patch literal 501 zcmVk9yY-R?6QZi(jselwB3K(jVLA{|7tHbA74K{Z-H`}^8; zJc;ets_*Xnh=VEH+Z)sB^oBdB!(aFIUf2C%=AQvv0NVxF#s#olfNk2g!hU}DkDK`p r-~!k#fQX2Qh=_=Yh=_=Yh{%jj3+iCdNf8#o00000NkvXXu0mjfL_gkd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lingshi/textures/block/support.png b/src/main/resources/assets/lingshi/textures/block/support.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5063c6ecb5ef54ace9d30d03905fe93e0bbd94 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV07|yaSW-L^Y+%ptV01JY!Bjh zHanX$i$-ZU9Y1r4{lyFElu3MkuP($cDYmvu6<8i*RC4(&`v*oVF|UIM-ZFQ1FVMTR z(fQn7%Y(n`yDy*p`O}iqEoY70zIw$EX}2dmuGqUjqeD+2h2g=wZ@aEMeEXcw%r7>5 z)s%^G3471GK99b{;Pi;8OQ&eEOXrS;#C#s<Q>+A~7;S>Jy zSo-SkKlZ-&nWyO&-&c0oBW_S3^HWao5bp=u2I&L557>UlDL&fU@cn6V?tbP4T}-d^ zelYR)<(Dory3`(`J=2nV@j-?IS5uc?dHCn}u5-aVAIxVw$GxGjOR4*x-RnN-1+os( z+!y#3^s;8KUpU6Jg*hXc@fPD2*7$~lGxuDbn!05FP1Tb=U;Z=Y9=y-wf&xUElxJi* VEL+>I;Rp;=22WQ%mvv4FO#ri9q=^6k literal 0 HcmV?d00001