Skip to content

Commit 8248bc4

Browse files
authored
Merge pull request #121 from Polari-Stars-MC/baka4n-update
注册磨制方块
2 parents 178ac0e + 558c21d commit 8248bc4

File tree

7 files changed

+160
-85
lines changed

7 files changed

+160
-85
lines changed

CHANGELOG.txt

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
2025/3/6
2-
Textures and I18n bug fixes
3-
Replace the trunk of the rhododendron tree with azalea wood
4-
Sculk jaw texture and block model.
5-
2025/3/10
6-
Fixed incorrect name translations, added salt ore generation and recipes.
1+
2025/3/11
2+
Sort for the creative item tabs.
3+
Register Concrete Powder.
4+
Register Polished Stone [default block, wall, stairs, slab]

src/main/java/org/polaris2023/wild_wind/common/init/ModBlocks.java

+31-8
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ public class ModBlocks {
107107
public static final DeferredBlock<BrittleIceBlock> BRITTLE_ICE =
108108
register("brittle_ice", BrittleIceBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.ICE)
109109
.strength(0.1F).isValidSpawn(Blocks::never).pushReaction(PushReaction.DESTROY));
110-
@BasicBlockItem
111110
public static final DeferredItem<BlockItem> BRITTLE_ICE_ITEM =
112111
register("brittle_ice", BRITTLE_ICE);
113112

@@ -118,21 +117,23 @@ public class ModBlocks {
118117
.strength(0.8F)
119118
.sound(SoundType.WOOL)
120119
.ignitedByLava());
121-
@BasicBlockItem
122120
public static final DeferredItem<BlockItem> WOOL_ITEM = register("wool", WOOL);
123121

124122
@I18n(en_us = "carpet", zh_cn = "地毯", zh_tw = "地毯")
125123
public static final DeferredBlock<CarpetBlock> CARPET =
126124
register("carpet", CarpetBlock::new, BlockBehaviour.Properties.of().strength(0.1F).sound(SoundType.WOOL).ignitedByLava() );
127-
@BasicBlockItem
128125
public static final DeferredItem<BlockItem> CARPET_ITEM = register("carpet", CARPET);
129126

130127
@I18n(en_us = "Concrete", zh_cn = "混凝土", zh_tw = "混凝土")
131128
@CubeAll
132129
public static final DeferredBlock<Block> CONCRETE =
133130
register("concrete", BlockBehaviour.Properties.of().strength(0.8F).sound(SoundType.STONE).ignitedByLava());
134-
@BasicBlockItem
135131
public static final DeferredItem<BlockItem> CONCRETE_ITEM = register("concrete", CONCRETE);
132+
@I18n(en_us = "Concrete Powder", zh_cn = "混凝土粉末", zh_tw = "混凝土粉末")
133+
@CubeAll
134+
public static final DeferredBlock<Block> CONCRETE_POWDER =
135+
register("concrete_powder", properties -> new ConcretePowderBlock(CONCRETE.get(), properties), BlockBehaviour.Properties.of().sound(SoundType.STONE).ignitedByLava());
136+
public static final DeferredItem<BlockItem> CONCRETE_POWDER_ITEM = register("concrete_powder", CONCRETE_POWDER);
136137
@I18n(en_us ="Glazed Terracotta", zh_cn = "带釉陶瓦", zh_tw = "带釉陶瓦")
137138
public static final DeferredBlock<GlazedTerracottaBlock> GLAZED_TERRACOTTA =
138139
register("glazed_terracotta", GlazedTerracottaBlock::new, BlockBehaviour.Properties.of().strength(1.25F).sound(SoundType.STONE).ignitedByLava());
@@ -181,14 +182,39 @@ public class ModBlocks {
181182
public static final DeferredItem<BlockItem> GLISTERING_MELON_ITEM =
182183
register("glistering_melon", GLISTERING_MELON);
183184

185+
@I18n(en_us = "Stone Wall", zh_tw = "石牆", zh_cn = "石墙")
186+
public static final DeferredBlock<WallBlock> STONE_WALL =
187+
register("stone_wall", WallBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.STONE));
188+
189+
@BasicBlockItem
190+
public static final DeferredItem<BlockItem> STONE_WALL_ITEM =
191+
register("stone_wall", STONE_WALL);
192+
184193
@I18n(en_us = "Polished Stone",zh_cn = "磨制石头",zh_tw = "磨製石頭")
185194
@CubeAll
186195
public static final DeferredBlock<Block> POLISHED_STONE =
187196
register("polished_stone", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(2.5f));
188-
@BasicBlockItem
189197
public static final DeferredItem<BlockItem> POLISHED_STONE_ITEM =
190198
register("polished_stone", POLISHED_STONE);
199+
@I18n(en_us = "Polished Stone Wall",zh_cn = "磨制石墙",zh_tw = "磨製石牆")
200+
public static final DeferredBlock<WallBlock> POLISHED_STONE_WALL =
201+
register("polished_stone_wall", WallBlock::new, BlockBehaviour.Properties.ofFullCopy(ModBlocks.POLISHED_STONE.get()));
202+
@BasicBlockItem
203+
public static final DeferredItem<BlockItem> POLISHED_STONE_WALL_ITEM =
204+
register("polished_stone_wall", POLISHED_STONE_WALL);
205+
@I18n(en_us = "Polished Stone Stairs",zh_cn = "磨制楼梯",zh_tw = "磨製石樓梯")
206+
public static final DeferredBlock<StairBlock> POLISHED_STONE_STAIRS =
207+
register("polished_stone_stairs", properties -> new StairBlock(POLISHED_STONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_STAIRS));
208+
@BasicBlockItem
209+
public static final DeferredItem<BlockItem> POLISHED_STONE_STAIRS_ITEM =
210+
register("polished_stone_stairs", POLISHED_STONE_STAIRS);
191211

212+
@I18n(en_us = "Polished Stone Slab",zh_cn = "磨制石台阶",zh_tw = "磨製石半磚")
213+
public static final DeferredBlock<SlabBlock> POLISHED_STONE_SLAB =
214+
register("polished_stone_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_SLAB));
215+
@BasicBlockItem
216+
public static final DeferredItem<BlockItem> POLISHED_STONE_SLAB_ITEM =
217+
register("polished_stone_slab", POLISHED_STONE_SLAB);
192218

193219
@AllWood
194220
@I18n(en_us = "Azalea Planks", zh_cn = "杜鹃木板", zh_tw = "杜鵑木材")
@@ -360,7 +386,6 @@ public class ModBlocks {
360386
@CubeAll
361387
public static final DeferredBlock<Block> PALM_CROWN =
362388
register("palm_crown", Block::new, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD));
363-
@BasicBlockItem
364389
public static final DeferredItem<BlockItem> PALM_CROWN_ITEM =
365390
register("palm_crown", PALM_CROWN);
366391

@@ -451,14 +476,12 @@ public class ModBlocks {
451476
@CubeAll(render_type = "cutout_mipped")
452477
public static final DeferredBlock<LeavesBlock> PALM_LEAVES =
453478
register("palm_leaves", LeavesBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_LEAVES));
454-
@BasicBlockItem
455479
public static final DeferredItem<BlockItem> PALM_LEAVES_ITEM =
456480
register("palm_leaves", PALM_LEAVES);
457481
@I18n(en_us = "Baobab Leaves", zh_cn = "猴面包树叶", zh_tw = "猴麵包樹葉")
458482
@CubeAll(render_type = "cutout_mipped")
459483
public static final DeferredBlock<LeavesBlock> BAOBAB_LEAVES =
460484
register("baobab_leaves", LeavesBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_LEAVES));
461-
@BasicBlockItem
462485
public static final DeferredItem<BlockItem> BAOBAB_LEAVES_ITEM =
463486
register("baobab_leaves", BAOBAB_LEAVES);
464487

src/main/java/org/polaris2023/wild_wind/common/init/ModCreativeTabs.java

+68-71
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
import org.polaris2023.annotation.language.I18n;
1313
import org.polaris2023.wild_wind.common.init.items.ModBaseItems;
1414
import org.polaris2023.wild_wind.common.init.items.entity.ModBoats;
15+
import org.polaris2023.wild_wind.common.init.items.entity.ModMobBuckets;
1516
import org.polaris2023.wild_wind.common.init.items.entity.ModSpawnEggs;
1617
import org.polaris2023.wild_wind.common.init.items.foods.ModBaseFoods;
18+
import org.polaris2023.wild_wind.datagen.ModBlockFamilies;
1719

1820
import java.util.List;
1921
import java.util.Locale;
@@ -27,101 +29,96 @@
2729
public enum ModCreativeTabs implements Supplier<CreativeModeTab> {
2830
@I18n(en_us = "Wild wind: Building block", zh_cn = "原野之风:建筑方块", zh_tw = "原野之風:建築方塊")
2931
BUILDING_BLOCK(ModBlocks.BRITTLE_ICE::toStack, () -> (__, output) -> {
30-
output.accept(ModBlocks.BRITTLE_ICE_ITEM);
31-
output.accept(ModBlocks.SALT_BLOCK_ITEM);
32-
output.accept(ModBlocks.WOOL_ITEM);
33-
output.accept(ModBlocks.CONCRETE_ITEM);
34-
35-
for (DeferredHolder<Item, ? extends Item> holder : ModInitializer.items()) {
36-
Item item = holder.get();
37-
switch (item) {
38-
case BoatItem ignored -> output.accept(item);
39-
default -> {}
40-
}
41-
}
42-
for (DeferredHolder<Block, ? extends Block> holder : ModInitializer.blocks()) {
43-
Block block = holder.get();
44-
switch (block) {
45-
case ButtonBlock ignored -> output.accept(block);
46-
case FenceBlock ignored -> output.accept(block);
47-
case FenceGateBlock ignored -> output.accept(block);
48-
case PressurePlateBlock ignored -> output.accept(block);
49-
case SlabBlock ignored -> output.accept(block);
50-
case StairBlock ignored -> output.accept(block);
51-
case DoorBlock ignored -> output.accept(block);
52-
case TrapDoorBlock ignored -> output.accept(block);
53-
case SignBlock ignored -> output.accept(block);
54-
case GlazedTerracottaBlock ignored -> output.accept(block);
55-
default -> {
56-
String path = holder.getId().getPath();
57-
if (
58-
path.contains("log") ||
59-
path.contains("wood") ||
60-
path.contains("planks")
61-
) {
62-
output.accept(block);
63-
}
64-
}
6532

66-
}
67-
}
33+
output.accept(ModBlocks.AZALEA_LOG);
34+
output.accept(ModBlocks.AZALEA_WOOD);
35+
output.accept(ModBlocks.STRIPPED_AZALEA_LOG);
36+
output.accept(ModBlocks.STRIPPED_AZALEA_WOOD);
37+
ModBlockFamilies.AZALEA_PLANKS.addCreativeTab(output);
38+
output.accept(ModBlocks.PALM_LOG);
39+
output.accept(ModBlocks.PALM_WOOD);
40+
output.accept(ModBlocks.STRIPPED_PALM_LOG);
41+
output.accept(ModBlocks.STRIPPED_PALM_WOOD);
42+
ModBlockFamilies.PALM_PLANKS.addCreativeTab(output);
43+
output.accept(ModBlocks.BAOBAB_LOG);
44+
output.accept(ModBlocks.BAOBAB_WOOD);
45+
output.accept(ModBlocks.STRIPPED_BAOBAB_LOG);
46+
output.accept(ModBlocks.STRIPPED_BAOBAB_WOOD);
47+
ModBlockFamilies.BAOBAB_PLANKS.addCreativeTab(output);
48+
output.accept(ModBlocks.STONE_WALL);
49+
output.accept(ModBlocks.POLISHED_STONE);
50+
output.accept(ModBlocks.POLISHED_STONE_STAIRS);
51+
output.accept(ModBlocks.POLISHED_STONE_SLAB);
52+
output.accept(ModBlocks.POLISHED_STONE_WALL);
53+
54+
output.accept(ModBlocks.SALT_BLOCK);
55+
output.accept(ModBlocks.WOOL);
56+
output.accept(ModBlocks.CARPET);
57+
output.accept(ModBlocks.CONCRETE);
58+
output.accept(ModBlocks.CONCRETE_POWDER);
59+
output.accept(ModBlocks.GLAZED_TERRACOTTA);
6860
}),
6961
@I18n(en_us = "Wild wind: Natural block", zh_cn = "原野之风:自然方块", zh_tw = "原野之風:自然方塊")
7062
NATURAL_BLOCKS(ModBlocks.SALT_BLOCK_ITEM::toStack, () -> (__, output) -> {
7163
output.accept(ModBlocks.BRITTLE_ICE_ITEM);
72-
73-
output.accept(ModBlocks.SALT_BLOCK_ITEM);
74-
75-
//缺少灰烬,块,淤泥,块,沙子系列
76-
output.accept(ModBlocks.SALT_ORE_ITEM);
64+
output.accept(ModBlocks.SALT_ORE);
7765
output.accept(ModBlocks.DEEPSLATE_SALT_ORE);
78-
output.accept(ModBlocks.REEDS);
79-
output.accept(ModBlocks.CATTAILS);
80-
output.accept(ModBlocks.GLAREFLOWER);
81-
output.accept(ModBlocks.DUCKWEED_ITEM);
82-
output.accept(ModBlocks.GLAREFLOWER_SEEDS);
83-
// output.accept(ModBlocks.SPIDER_ATTACHMENTS);
84-
// output.accept(ModBlocks.SPIDER_MUCOSA);
85-
// output.accept(ModBlocks.SPIDER_EGG);
86-
output.accept(ModBlocks.SCULK_JAW_ITEM);
66+
output.accept(ModBlocks.AZALEA_LOG);
67+
output.accept(ModBlocks.PALM_LOG);
68+
output.accept(ModBlocks.PALM_CROWN);
69+
output.accept(ModBlocks.BAOBAB_LOG);
70+
output.accept(ModBlocks.PALM_LEAVES);
71+
output.accept(ModBlocks.BAOBAB_LEAVES);
72+
output.accept(ModBlocks.PALM_SAPLING);
73+
output.accept(ModBlocks.BAOBAB_SAPLING);
8774
}),
8875
@I18n(en_us = "Wild wind: Tools and Utilities", zh_cn = "原野之风:工具与实用物品", zh_tw = "原野之風:工具與實用物品")
8976
TOOLS_AND_UTILITIES(ModItems.MAGIC_FLUTE::toStack, () -> (__, output) -> {
90-
output.accept(ModItems.MAGIC_FLUTE);
9177
output.accept(Items.BUCKET);
92-
for (DeferredHolder<Item, ? extends Item> holder : ModInitializer.items()) {
93-
if (holder.get() instanceof MobBucketItem item) {
94-
output.accept(item);
95-
}
96-
}
78+
output.accept(ModMobBuckets.TROUT_BUCKET);
79+
output.accept(ModMobBuckets.PIRANHA_BUCKET);
80+
output.accept(ModItems.MAGIC_FLUTE);
9781
output.accept(ModBlocks.GLOW_MUCUS);
82+
output.accept(ModBoats.AZALEA_BOAT);
83+
output.accept(ModBoats.AZALEA_CHEST_BOAT);
84+
output.accept(ModBoats.PALM_BOAT);
85+
output.accept(ModBoats.PALM_CHEST_BOAT);
86+
output.accept(ModBoats.BAOBAB_BOAT);
87+
output.accept(ModBoats.BAOBAB_CHEST_BOAT);
9888

9989
}),
10090
@I18n(en_us = "Wild wind: Food & drink", zh_cn = "原野之风:食物与饮品", zh_tw = "原野之風:食物與飲品")
10191
FOOD_AND_DRINK(ModBaseFoods.PUMPKIN_SLICE.entry::toStack,
10292
() -> (__, output) -> {
103-
List<Item> ignoresFood =
104-
List.of(ModItems.NETHER_MUSHROOM_STEW.get(), ModBaseFoods.FISH_CHOWDER.get());// ignore some food
105-
for (DeferredHolder<Item, ? extends Item> item : ModInitializer.items()) {
106-
Item it = item.get();
107-
if (it.components().has(DataComponents.FOOD) && !ignoresFood.contains(it)) {
108-
output.accept(it);
109-
}
110-
}
93+
output.accept(ModBaseFoods.BAKED_APPLE);
94+
output.accept(ModBaseFoods.BAKED_MELON_SLICE);
95+
output.accept(ModBaseFoods.PUMPKIN_SLICE);
96+
output.accept(ModBaseFoods.BAKED_PUMPKIN_SLICE);
97+
output.accept(ModBaseFoods.BAKED_MUSHROOM);
98+
output.accept(ModBaseFoods.BAKED_SEEDS);
99+
output.accept(ModBaseFoods.BAKED_BERRIES);
100+
output.accept(ModBaseFoods.BAKED_CARROT);
101+
output.accept(ModItems.LIVING_TUBER);
102+
output.accept(ModBaseFoods.BAKED_LIVING_TUBER);
103+
output.accept(ModBaseFoods.RAW_FROG_LEG);
104+
output.accept(ModBaseFoods.COOKED_FROG_LEG);
105+
output.accept(ModBaseFoods.RAW_TROUT);
106+
output.accept(ModBaseFoods.COOKED_TROUT);
107+
output.accept(ModBaseFoods.RAW_PIRANHA);
108+
output.accept(ModBaseFoods.COOKED_PIRANHA);
109+
output.accept(ModBaseFoods.COOKED_EGG);
111110
}),
112111
@I18n(en_us = "Wild wind: Ingredients", zh_cn = "原野之风:原材料", zh_tw = "原野之風:原材料")
113112
INGREDIENTS(ModBlocks.GLOW_MUCUS_ITEM::toStack, () -> (__, output) -> {
114-
output.accept(ModBaseItems.GLOW_POWDER.get());
115113
output.accept(ModBaseFoods.DOUGH);
114+
output.accept(ModBaseItems.GLOW_POWDER.get());
116115
output.accept(ModBaseItems.SALT);
117116
}),
118117
@I18n(en_us = "Wild wind: Spawn Eggs", zh_cn = "原野之风:刷怪蛋", zh_tw = "原野之風:生怪蛋")
119118
SPAWN_EGGS(ModSpawnEggs.FIREFLY_SPAWN_EGG.entry::toStack, () -> (__, output) -> {
120-
for (DeferredHolder<Item, ? extends Item> holder : ModInitializer.items()) {
121-
if (holder.get() instanceof DeferredSpawnEggItem item) {
122-
output.accept(item);
123-
}
124-
}
119+
output.accept(ModSpawnEggs.FIREFLY_SPAWN_EGG);
120+
output.accept(ModSpawnEggs.TROUT_SPAWN_EGG);
121+
output.accept(ModSpawnEggs.PIRANHA_SPAWN_EGG);
125122
}),
126123
@I18n(en_us = "Wild wind: Misc", zh_cn = "原野之风:杂项", zh_tw = "原野之風:雜項")
127124
WILD_WIND(ModBlocks.COOKING_POT_ITEM::toStack,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.polaris2023.wild_wind.common.init;
2+
3+
import net.minecraft.sounds.SoundEvent;
4+
import net.minecraft.world.level.block.SoundType;
5+
import net.minecraft.world.level.block.state.properties.BlockSetType;
6+
import net.minecraft.world.level.block.state.properties.WoodType;
7+
8+
import java.util.Locale;
9+
10+
import static org.polaris2023.wild_wind.WildWindMod.MOD_ID;
11+
12+
/**
13+
* @author : baka4n
14+
* {@code @Date : 2025/03/11 22:01:59}
15+
*/
16+
public enum ModPolishedSettings {
17+
POLISHED_STONE;
18+
public final BlockSetType setType;
19+
ModPolishedSettings() {
20+
String typeName = MOD_ID + "_" + name().toLowerCase(Locale.ROOT);
21+
setType = BlockSetType.register(new BlockSetType(typeName));
22+
23+
}
24+
25+
ModPolishedSettings(boolean canOpenByHand, boolean canOpenByWindCharge, boolean canButtonBeActivatedByArrows, BlockSetType.PressurePlateSensitivity pressurePlateSensitivity, SoundType soundType, SoundEvent doorClose, SoundEvent doorOpen, SoundEvent trapdoorClose, SoundEvent trapdoorOpen, SoundEvent pressurePlateClickOff, SoundEvent pressurePlateClickOn, SoundEvent buttonClickOff, SoundEvent buttonClickOn) {
26+
String typeName = MOD_ID + "_" + name().toLowerCase(Locale.ROOT);
27+
setType = BlockSetType.register(new BlockSetType(typeName, canOpenByHand, canOpenByWindCharge, canButtonBeActivatedByArrows, pressurePlateSensitivity, soundType, doorClose, doorOpen, trapdoorClose, trapdoorOpen, pressurePlateClickOff, pressurePlateClickOn, buttonClickOff, buttonClickOn));
28+
}
29+
}

src/main/java/org/polaris2023/wild_wind/datagen/ModBlockFamily.java

+15
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.minecraft.tags.BlockTags;
66
import net.minecraft.tags.ItemTags;
77
import net.minecraft.tags.TagKey;
8+
import net.minecraft.world.item.CreativeModeTab;
89
import net.minecraft.world.item.Item;
910
import net.minecraft.world.level.block.*;
1011
import net.neoforged.neoforge.client.model.generators.BlockStateProvider;
@@ -34,6 +35,20 @@ public void registerStatesAndModels(BlockStateProvider provider, String name) {
3435
provider.trapdoorBlock(this.trapdoor, Helpers.location("block/" + name + "_trapdoor"), true);//replace
3536
}
3637

38+
public void addCreativeTab(CreativeModeTab.Output output) {
39+
output.accept(baseBlock);
40+
output.accept(stair);
41+
output.accept(slab);
42+
output.accept(fence);
43+
output.accept(fenceGate);
44+
output.accept(door);
45+
output.accept(trapdoor);
46+
output.accept(pressurePlate);
47+
output.accept(button);
48+
output.accept(standingSign);
49+
output.accept(ceilingHangingSign);
50+
}
51+
3752
public void generateBlockLoot(Consumer<Block> dropSelf) {
3853
dropSelf.accept(this.baseBlock);
3954
dropSelf.accept(this.button);

src/main/java/org/polaris2023/wild_wind/datagen/loot/ModBlockLootSubProvider.java

+5
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public void generate() {
4646
this.dropSelf(ModBlocks.WOOL.get());
4747
this.dropSelf(ModBlocks.CARPET.get());
4848
this.dropSelf(ModBlocks.CONCRETE.get());
49+
this.dropSelf(ModBlocks.CONCRETE_POWDER.get());
4950
this.dropSelf(ModBlocks.GLAZED_TERRACOTTA.get());
5051
this.dropSelf(ModBlocks.SALT_BLOCK.get());
5152
this.add(ModBlocks.SALT_ORE.get(), this.createSaltOreDrops(ModBlocks.SALT_ORE.get()));
@@ -65,7 +66,11 @@ public void generate() {
6566
this.dropSelf(ModBlocks.SCULK_JAW.get());
6667
this.dropSelf(ModBlocks.DUCKWEED.get());
6768
this.dropSelf(ModBlocks.GLISTERING_MELON.get());
69+
this.dropSelf(ModBlocks.STONE_WALL.get());
6870
this.dropSelf(ModBlocks.POLISHED_STONE.get());
71+
this.dropSelf(ModBlocks.POLISHED_STONE_WALL.get());
72+
this.dropSelf(ModBlocks.POLISHED_STONE_SLAB.get());
73+
this.dropSelf(ModBlocks.POLISHED_STONE_STAIRS.get());
6974
ModBlockFamilies.AZALEA_PLANKS.generateBlockLoot(this::dropSelf);
7075
ModBlockFamilies.PALM_PLANKS.generateBlockLoot(this::dropSelf);
7176
ModBlockFamilies.BAOBAB_PLANKS.generateBlockLoot(this::dropSelf);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## 分工
2+
- [x] 创造物品栏分类
3+
- [ ] 萤火虫实体
4+
- [ ] 鳟鱼实体
5+
- [ ] 食人鱼实体
6+
- [ ] 食物
7+
- [ ] 烹饪锅
8+
- [ ] 烹饪系统

0 commit comments

Comments
 (0)