测试loottable

This commit is contained in:
17146 2024-11-28 19:11:19 +08:00
parent 20bedc1159
commit 684ff941ed
7 changed files with 85 additions and 21 deletions

View file

@ -1,6 +1,7 @@
// 1.20.1 2024-09-12T20:35:10.8112459 Loot Tables
// 1.20.1 2024-11-28T19:06:08.9130891 Loot Tables
98386b2e65b2afb7cf5b0cabf6a7b0f062c1e640 data/superbwarfare/loot_tables/blocks/barbed_wire.json
811e69929a14e6736015849c220100bb58d914c9 data/superbwarfare/loot_tables/blocks/cemented_carbide_block.json
92190e844ccc6a9e63e4c063ee3a0932f722156a data/superbwarfare/loot_tables/blocks/container.json
dabbe17417c944567dc6dfcdcba32b8377c24f69 data/superbwarfare/loot_tables/blocks/deepslate_galena_ore.json
a7c1af3e194d35a64544902468bd964f45f2f9ef data/superbwarfare/loot_tables/blocks/deepslate_scheelite_ore.json
76fa64ff714374c1655f4d11776fda132287a014 data/superbwarfare/loot_tables/blocks/deepslate_silver_ore.json

View file

@ -1,6 +1,7 @@
// 1.20.1 2024-09-12T20:35:10.8102487 Block States: superbwarfare
// 1.20.1 2024-11-28T19:10:17.3403255 Block States: superbwarfare
f3b778ca36ca78c3d80f1b778078897f59bdb0c5 assets/superbwarfare/blockstates/barbed_wire.json
0cfad4f53a8047c402edf978d0c8cf6269f063cb assets/superbwarfare/blockstates/cemented_carbide_block.json
921500c7cf6c92da0e656486126068bbf5e30348 assets/superbwarfare/blockstates/container.json
62fb0464ca59ac21693639c406e08730427d87b3 assets/superbwarfare/blockstates/deepslate_galena_ore.json
b8b7cdea6c8626c74d652d0b300b3afe19c60674 assets/superbwarfare/blockstates/deepslate_scheelite_ore.json
2b24b703de4821bebe71ba53043e6a1a23d71c17 assets/superbwarfare/blockstates/deepslate_silver_ore.json

View file

@ -0,0 +1,34 @@
{
"variants": {
"facing=east,opened=false": {
"model": "superbwarfare:block/container",
"y": 90
},
"facing=east,opened=true": {
"model": "superbwarfare:block/container",
"y": 90
},
"facing=north,opened=false": {
"model": "superbwarfare:block/container"
},
"facing=north,opened=true": {
"model": "superbwarfare:block/container"
},
"facing=south,opened=false": {
"model": "superbwarfare:block/container",
"y": 180
},
"facing=south,opened=true": {
"model": "superbwarfare:block/container",
"y": 180
},
"facing=west,opened=false": {
"model": "superbwarfare:block/container",
"y": 270
},
"facing=west,opened=true": {
"model": "superbwarfare:block/container",
"y": 270
}
}
}

View file

@ -0,0 +1,34 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "superbwarfare:container"
}
],
"functions": [
{
"function": "minecraft:copy_nbt",
"ops": [
{
"op": "replace",
"source": "Test",
"target": "BlockEntityTag.Test"
}
],
"source": "block_entity"
}
],
"rolls": 1.0
}
],
"random_sequence": "superbwarfare:blocks/container"
}

View file

@ -5,11 +5,18 @@ import com.atsuishio.superbwarfare.init.ModItems;
import net.minecraft.data.loot.BlockLootSubProvider;
import net.minecraft.world.flag.FeatureFlags;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.storage.loot.LootPool;
import net.minecraft.world.level.storage.loot.LootTable;
import net.minecraft.world.level.storage.loot.entries.LootItem;
import net.minecraft.world.level.storage.loot.functions.CopyNbtFunction;
import net.minecraft.world.level.storage.loot.providers.nbt.ContextNbtProvider;
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
import net.minecraftforge.registries.RegistryObject;
import java.util.Set;
public class ModBlockLootProvider extends BlockLootSubProvider {
public ModBlockLootProvider() {
super(Set.of(), FeatureFlags.REGISTRY.allFlags());
}
@ -33,6 +40,10 @@ public class ModBlockLootProvider extends BlockLootSubProvider {
this.add(ModBlocks.DEEPSLATE_GALENA_ORE.get(), this.createOreDrop(ModBlocks.DEEPSLATE_GALENA_ORE.get(), ModItems.GALENA.get()));
this.add(ModBlocks.DEEPSLATE_SCHEELITE_ORE.get(), this.createOreDrop(ModBlocks.DEEPSLATE_SCHEELITE_ORE.get(), ModItems.SCHEELITE.get()));
this.add(ModBlocks.DEEPSLATE_SILVER_ORE.get(), this.createOreDrop(ModBlocks.DEEPSLATE_SILVER_ORE.get(), ModItems.RAW_SILVER.get()));
this.add(ModBlocks.CONTAINER.get(), LootTable.lootTable().withPool(this.applyExplosionCondition(ModBlocks.CONTAINER.get(),
LootPool.lootPool().setRolls(ConstantValue.exactly(1.0F)).add(LootItem.lootTableItem(ModBlocks.CONTAINER.get()))
.apply(CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY).copy("Test", "BlockEntityTag.Test")))));
}
@Override

View file

@ -13,6 +13,7 @@ import net.minecraftforge.registries.RegistryObject;
@SuppressWarnings({"ConstantConditions", "SameParameterValue"})
public class ModBlockStateProvider extends BlockStateProvider {
public ModBlockStateProvider(PackOutput output, ExistingFileHelper exFileHelper) {
super(output, ModUtils.MODID, exFileHelper);
}
@ -22,6 +23,7 @@ public class ModBlockStateProvider extends BlockStateProvider {
horizontalBlock(ModBlocks.BARBED_WIRE.get(), new ModelFile.UncheckedModelFile(modLoc("block/barbed_wire")));
horizontalBlock(ModBlocks.JUMP_PAD.get(), new ModelFile.UncheckedModelFile(modLoc("block/jump_pad")));
horizontalBlock(ModBlocks.REFORGING_TABLE.get(), new ModelFile.UncheckedModelFile(modLoc("block/reforging_table")));
horizontalBlock(ModBlocks.CONTAINER.get(), new ModelFile.UncheckedModelFile(modLoc("block/container")));
blockWithItem(ModBlocks.GALENA_ORE);
blockWithItem(ModBlocks.DEEPSLATE_GALENA_ORE);

View file

@ -1,19 +0,0 @@
{
"variants": {
"facing=north": {
"model": "superbwarfare:custom/container_particle"
},
"facing=east": {
"model": "superbwarfare:custom/container_particle",
"y": 90
},
"facing=south": {
"model": "superbwarfare:custom/container_particle",
"y": 180
},
"facing=west": {
"model": "superbwarfare:custom/container_particle",
"y": 270
}
}
}