修复resource key,移除部分todo,修改物品栏图标

This commit is contained in:
17146 2025-04-02 16:31:01 +08:00
parent 3535d17d1a
commit a79327161c
5 changed files with 220 additions and 41 deletions

View file

@ -1,4 +1,4 @@
// 1.21.1 2025-03-27T22:36:38.8875256 Loot Tables
// 1.21.1 2025-04-02T16:28:49.3323684 Loot Tables
98386b2e65b2afb7cf5b0cabf6a7b0f062c1e640 data/superbwarfare/loot_table/blocks/barbed_wire.json
811e69929a14e6736015849c220100bb58d914c9 data/superbwarfare/loot_table/blocks/cemented_carbide_block.json
1f482bc1f0a1026d0e1b75ee28c6f541b56747a5 data/superbwarfare/loot_table/blocks/charging_station.json
@ -20,3 +20,4 @@ fb31a40f6a04000f317823cbb80eda8588ba9c69 data/superbwarfare/loot_table/blocks/si
073b9c242ea372f7b34883835c0b02a9ca8d94e5 data/superbwarfare/loot_table/blocks/small_container.json
83112ebff477e322bd3d23ed4653c7c02b230473 data/superbwarfare/loot_table/blocks/steel_block.json
71fc892124b5343e10688cabc2fb7c87d83cfef8 data/superbwarfare/loot_table/blocks/tungsten_block.json
f586b1d608c55d6fba6277baf138a6c84855e4c6 data/superbwarfare/loot_table/containers/blueprints.json

View file

@ -0,0 +1,177 @@
{
"type": "minecraft:chest",
"pools": [
{
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "superbwarfare:glock_17_blueprint",
"weight": 60
},
{
"type": "minecraft:item",
"name": "superbwarfare:mp_443_blueprint",
"weight": 60
},
{
"type": "minecraft:item",
"name": "superbwarfare:taser_blueprint",
"weight": 60
},
{
"type": "minecraft:item",
"name": "superbwarfare:marlin_blueprint",
"weight": 60
},
{
"type": "minecraft:item",
"name": "superbwarfare:m_1911_blueprint",
"weight": 60
},
{
"type": "minecraft:item",
"name": "superbwarfare:glock_18_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:m_79_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:m_4_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:sks_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:m_870_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:ak_47_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:k_98_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:mosin_nagant_blueprint",
"weight": 62
},
{
"type": "minecraft:item",
"name": "superbwarfare:trachelium_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:hunting_rifle_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:rpg_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:bocek_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:hk_416_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:rpk_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:vector_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:mk_14_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:m_60_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:svd_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:m_98b_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:ak_12_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:devotion_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:qbz_95_blueprint",
"weight": 12
},
{
"type": "minecraft:item",
"name": "superbwarfare:aa_12_blueprint",
"weight": 5
},
{
"type": "minecraft:item",
"name": "superbwarfare:ntw_20_blueprint",
"weight": 5
},
{
"type": "minecraft:item",
"name": "superbwarfare:minigun_blueprint",
"weight": 5
},
{
"type": "minecraft:item",
"name": "superbwarfare:sentinel_blueprint",
"weight": 5
},
{
"type": "minecraft:item",
"name": "superbwarfare:javelin_blueprint",
"weight": 5
},
{
"type": "minecraft:item",
"name": "superbwarfare:secondary_cataclysm_blueprint",
"weight": 5
}
],
"rolls": 1.0
}
],
"random_sequence": "superbwarfare:containers/blueprints"
}

View file

@ -1,6 +1,9 @@
package com.atsuishio.superbwarfare.datagen;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.init.ModItems;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.loot.LootTableSubProvider;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.ItemLike;
@ -20,43 +23,42 @@ public class ModContainerLootProvider implements LootTableSubProvider {
@Override
public void generate(@NotNull BiConsumer<ResourceKey<LootTable>, LootTable.Builder> output) {
// TODO resource key
// output.accept(ModUtils.loc("containers/blueprints"),
// LootTable.lootTable().withPool(multiItems(1, 0,
// new PoolTriple(ModItems.GLOCK_17_BLUEPRINT.get(), 60, 0),
// new PoolTriple(ModItems.MP_443_BLUEPRINT.get(), 60, 0),
// new PoolTriple(ModItems.TASER_BLUEPRINT.get(), 60, 0),
// new PoolTriple(ModItems.MARLIN_BLUEPRINT.get(), 60, 0),
// new PoolTriple(ModItems.M_1911_BLUEPRINT.get(), 60, 0),
// new PoolTriple(ModItems.GLOCK_18_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.M_79_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.M_4_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.SKS_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.M_870_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.AK_47_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.K_98_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 62, 0),
// new PoolTriple(ModItems.TRACHELIUM_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.RPG_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.BOCEK_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.HK_416_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.RPK_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.VECTOR_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.MK_14_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.M_60_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.SVD_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.M_98B_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.AK_12_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.DEVOTION_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.QBZ_95_BLUEPRINT.get(), 12, 0),
// new PoolTriple(ModItems.AA_12_BLUEPRINT.get(), 5, 0),
// new PoolTriple(ModItems.NTW_20_BLUEPRINT.get(), 5, 0),
// new PoolTriple(ModItems.MINIGUN_BLUEPRINT.get(), 5, 0),
// new PoolTriple(ModItems.SENTINEL_BLUEPRINT.get(), 5, 0),
// new PoolTriple(ModItems.JAVELIN_BLUEPRINT.get(), 5, 0),
// new PoolTriple(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 5, 0)
// )));
output.accept(ResourceKey.create(Registries.LOOT_TABLE, Mod.loc("containers/blueprints")),
LootTable.lootTable().withPool(multiItems(1, 0,
new PoolTriple(ModItems.GLOCK_17_BLUEPRINT.get(), 60, 0),
new PoolTriple(ModItems.MP_443_BLUEPRINT.get(), 60, 0),
new PoolTriple(ModItems.TASER_BLUEPRINT.get(), 60, 0),
new PoolTriple(ModItems.MARLIN_BLUEPRINT.get(), 60, 0),
new PoolTriple(ModItems.M_1911_BLUEPRINT.get(), 60, 0),
new PoolTriple(ModItems.GLOCK_18_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.M_79_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.M_4_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.SKS_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.M_870_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.AK_47_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.K_98_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 62, 0),
new PoolTriple(ModItems.TRACHELIUM_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.RPG_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.BOCEK_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.HK_416_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.RPK_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.VECTOR_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.MK_14_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.M_60_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.SVD_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.M_98B_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.AK_12_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.DEVOTION_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.QBZ_95_BLUEPRINT.get(), 12, 0),
new PoolTriple(ModItems.AA_12_BLUEPRINT.get(), 5, 0),
new PoolTriple(ModItems.NTW_20_BLUEPRINT.get(), 5, 0),
new PoolTriple(ModItems.MINIGUN_BLUEPRINT.get(), 5, 0),
new PoolTriple(ModItems.SENTINEL_BLUEPRINT.get(), 5, 0),
new PoolTriple(ModItems.JAVELIN_BLUEPRINT.get(), 5, 0),
new PoolTriple(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 5, 0)
)));
}
public LootPool.Builder singleItem(ItemLike item, int weight) {

View file

@ -65,7 +65,7 @@ public class ModTabs {
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> ITEM_TAB = TABS.register("item",
() -> CreativeModeTab.builder()
.title(Component.translatable("item_group.superbwarfare.item"))
.icon(() -> new ItemStack(ModItems.FIRING_PARAMETERS.get()))
.icon(() -> new ItemStack(ModItems.TARGET_DEPLOYER.get()))
.displayItems((param, output) -> ModItems.ITEMS.getEntries().forEach(registryObject -> {
if (registryObject.get() == ModItems.CONTAINER.get()) {
CONTAINER_ENTITIES.stream().map(Supplier::get).forEach(output::accept);

View file

@ -25,6 +25,7 @@ import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull;
public record ShootMessage(double spread) implements CustomPacketPayload {
public static final Type<ShootMessage> TYPE = new Type<>(Mod.loc("shoot"));
public static final StreamCodec<ByteBuf, ShootMessage> STREAM_CODEC = StreamCodec.composite(
@ -67,8 +68,6 @@ public record ShootMessage(double spread) implements CustomPacketPayload {
}
if (stack.getItem() == ModItems.HOMEMADE_SHOTGUN.get()) {
// TODO is hurt an break correct?
// stack.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(InteractionHand.MAIN_HAND));
stack.hurtAndBreak(1, (ServerLevel) player.level(), player, p -> {
});
if (player instanceof ServerPlayer serverPlayer && player.level() instanceof ServerLevel serverLevel) {