diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 467ae58e6..390fa5438 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -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 diff --git a/src/generated/resources/data/superbwarfare/loot_table/containers/blueprints.json b/src/generated/resources/data/superbwarfare/loot_table/containers/blueprints.json new file mode 100644 index 000000000..6409b3940 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/loot_table/containers/blueprints.json @@ -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" +} \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModContainerLootProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModContainerLootProvider.java index 72b7d975e..3b645b6da 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModContainerLootProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModContainerLootProvider.java @@ -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, 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) { diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java b/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java index 48b618b54..a8465031e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java @@ -65,7 +65,7 @@ public class ModTabs { public static final DeferredHolder 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); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/ShootMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/ShootMessage.java index 90fcb02ff..e6e36fb57 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/ShootMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/ShootMessage.java @@ -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 TYPE = new Type<>(Mod.loc("shoot")); public static final StreamCodec 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) {