添加投射物的属性NBT字段

This commit is contained in:
17146 2025-05-13 13:26:51 +08:00 committed by Light_Quanta
parent d4949c61ae
commit e3119f73f1
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
16 changed files with 526 additions and 85 deletions

View file

@ -1,5 +1,5 @@
// 1.21.1 2025-05-12T23:49:56.0141715 Loot Tables // 1.21.1 2025-05-13T23:23:11.1552806 Loot Tables
c7ee888c6a22a799172b3a4b488c31e1d1d43cc0 data/superbwarfare/loot_table/blocks/aircraft_catapult.json e71d9e1055ddb98520b16fafd202f9db3a696f54 data/superbwarfare/loot_table/blocks/aircraft_catapult.json
98386b2e65b2afb7cf5b0cabf6a7b0f062c1e640 data/superbwarfare/loot_table/blocks/barbed_wire.json 98386b2e65b2afb7cf5b0cabf6a7b0f062c1e640 data/superbwarfare/loot_table/blocks/barbed_wire.json
811e69929a14e6736015849c220100bb58d914c9 data/superbwarfare/loot_table/blocks/cemented_carbide_block.json 811e69929a14e6736015849c220100bb58d914c9 data/superbwarfare/loot_table/blocks/cemented_carbide_block.json
184c3243ca0acfc3103582e0ada2526b3cb4b43c data/superbwarfare/loot_table/blocks/charging_station.json 184c3243ca0acfc3103582e0ada2526b3cb4b43c data/superbwarfare/loot_table/blocks/charging_station.json

View file

@ -1,5 +1,5 @@
// 1.21.1 2025-05-12T23:49:56.0122177 Block States: superbwarfare // 1.21.1 2025-05-13T23:23:11.1533404 Block States: superbwarfare
1db13c2f6bc5225df98d2c1a550b3e175d1e9f92 assets/superbwarfare/blockstates/aircraft_catapult.json d91c9c8e6e02a0f7c75b02aaccfd1ecf98ad199b assets/superbwarfare/blockstates/aircraft_catapult.json
f3b778ca36ca78c3d80f1b778078897f59bdb0c5 assets/superbwarfare/blockstates/barbed_wire.json f3b778ca36ca78c3d80f1b778078897f59bdb0c5 assets/superbwarfare/blockstates/barbed_wire.json
0cfad4f53a8047c402edf978d0c8cf6269f063cb assets/superbwarfare/blockstates/cemented_carbide_block.json 0cfad4f53a8047c402edf978d0c8cf6269f063cb assets/superbwarfare/blockstates/cemented_carbide_block.json
472c06e6b43ad09925edaa88e9376bfd27ab267f assets/superbwarfare/blockstates/charging_station.json 472c06e6b43ad09925edaa88e9376bfd27ab267f assets/superbwarfare/blockstates/charging_station.json

View file

@ -1,242 +1,482 @@
{ {
"variants": { "variants": {
"facing=east,power=0": { "facing=east,power=0,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=1": { "facing=east,power=0,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=10": { "facing=east,power=1,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=11": { "facing=east,power=1,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=12": { "facing=east,power=10,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=13": { "facing=east,power=10,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=14": { "facing=east,power=11,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=15": { "facing=east,power=11,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=2": { "facing=east,power=12,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=3": { "facing=east,power=12,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=4": { "facing=east,power=13,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=5": { "facing=east,power=13,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=6": { "facing=east,power=14,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=7": { "facing=east,power=14,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=8": { "facing=east,power=15,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=east,power=9": { "facing=east,power=15,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 90 "y": 90
}, },
"facing=north,power=0": { "facing=east,power=2,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=2,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=3,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=3,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=4,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=4,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=5,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=5,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=6,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=6,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=7,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=7,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=8,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=8,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=9,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=east,power=9,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 90
},
"facing=north,power=0,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=1": { "facing=north,power=0,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=10": { "facing=north,power=1,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=11": { "facing=north,power=1,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=12": { "facing=north,power=10,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=13": { "facing=north,power=10,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=14": { "facing=north,power=11,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=15": { "facing=north,power=11,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=2": { "facing=north,power=12,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=3": { "facing=north,power=12,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=4": { "facing=north,power=13,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=5": { "facing=north,power=13,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=6": { "facing=north,power=14,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=7": { "facing=north,power=14,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=8": { "facing=north,power=15,updating=false": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=north,power=9": { "facing=north,power=15,updating=true": {
"model": "superbwarfare:block/aircraft_catapult" "model": "superbwarfare:block/aircraft_catapult"
}, },
"facing=south,power=0": { "facing=north,power=2,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=2,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=3,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=3,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=4,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=4,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=5,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=5,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=6,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=6,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=7,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=7,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=8,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=8,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=9,updating=false": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=north,power=9,updating=true": {
"model": "superbwarfare:block/aircraft_catapult"
},
"facing=south,power=0,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=1": { "facing=south,power=0,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=10": { "facing=south,power=1,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=11": { "facing=south,power=1,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=12": { "facing=south,power=10,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=13": { "facing=south,power=10,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=14": { "facing=south,power=11,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=15": { "facing=south,power=11,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=2": { "facing=south,power=12,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=3": { "facing=south,power=12,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=4": { "facing=south,power=13,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=5": { "facing=south,power=13,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=6": { "facing=south,power=14,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=7": { "facing=south,power=14,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=8": { "facing=south,power=15,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=south,power=9": { "facing=south,power=15,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 180 "y": 180
}, },
"facing=west,power=0": { "facing=south,power=2,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=2,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=3,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=3,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=4,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=4,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=5,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=5,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=6,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=6,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=7,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=7,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=8,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=8,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=9,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=south,power=9,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 180
},
"facing=west,power=0,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=1": { "facing=west,power=0,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=10": { "facing=west,power=1,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=11": { "facing=west,power=1,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=12": { "facing=west,power=10,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=13": { "facing=west,power=10,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=14": { "facing=west,power=11,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=15": { "facing=west,power=11,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=2": { "facing=west,power=12,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=3": { "facing=west,power=12,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=4": { "facing=west,power=13,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=5": { "facing=west,power=13,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=6": { "facing=west,power=14,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=7": { "facing=west,power=14,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=8": { "facing=west,power=15,updating=false": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
}, },
"facing=west,power=9": { "facing=west,power=15,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=2,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=2,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=3,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=3,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=4,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=4,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=5,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=5,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=6,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=6,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=7,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=7,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=8,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=8,updating=true": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=9,updating=false": {
"model": "superbwarfare:block/aircraft_catapult",
"y": 270
},
"facing=west,power=9,updating=true": {
"model": "superbwarfare:block/aircraft_catapult", "model": "superbwarfare:block/aircraft_catapult",
"y": 270 "y": 270
} }

View file

@ -11,7 +11,7 @@
"entries": [ "entries": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "minecraft:air" "name": "superbwarfare:aircraft_catapult"
} }
], ],
"rolls": 1.0 "rolls": 1.0

View file

@ -117,12 +117,24 @@ public class Agm65Entity extends FastThrowableProjectile implements GeoEntity, D
if (compound.contains("Health")) { if (compound.contains("Health")) {
this.entityData.set(HEALTH, compound.getFloat("Health")); this.entityData.set(HEALTH, compound.getFloat("Health"));
} }
if (compound.contains("Damage")) {
this.damage = compound.getFloat("Damage");
}
if (compound.contains("ExplosionDamage")) {
this.explosionDamage = compound.getFloat("ExplosionDamage");
}
if (compound.contains("Radius")) {
this.explosionRadius = compound.getFloat("Radius");
}
} }
@Override @Override
public void addAdditionalSaveData(@NotNull CompoundTag compound) { public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound); super.addAdditionalSaveData(compound);
compound.putFloat("Health", this.entityData.get(HEALTH)); compound.putFloat("Health", this.entityData.get(HEALTH));
compound.putFloat("Damage", this.damage);
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
} }
@Override @Override

View file

@ -9,6 +9,7 @@ import com.atsuishio.superbwarfare.tools.ParticleTool;
import com.atsuishio.superbwarfare.tools.ProjectileTool; import com.atsuishio.superbwarfare.tools.ProjectileTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource; import net.minecraft.sounds.SoundSource;
@ -50,6 +51,28 @@ public class GunGrenadeEntity extends FastThrowableProjectile implements GeoEnti
this.explosionRadius = explosionRadius; this.explosionRadius = explosionRadius;
} }
@Override
public void addAdditionalSaveData(@NotNull CompoundTag pCompound) {
super.addAdditionalSaveData(pCompound);
pCompound.putFloat("Damage", this.damage);
pCompound.putFloat("ExplosionDamage", this.explosionDamage);
pCompound.putFloat("Radius", this.explosionRadius);
}
@Override
public void readAdditionalSaveData(@NotNull CompoundTag pCompound) {
super.readAdditionalSaveData(pCompound);
if (pCompound.contains("Damage")) {
this.damage = pCompound.getFloat("Damage");
}
if (pCompound.contains("ExplosionDamage")) {
this.explosionDamage = pCompound.getFloat("ExplosionDamage");
}
if (pCompound.contains("Radius")) {
this.explosionRadius = pCompound.getFloat("Radius");
}
}
@Override @Override
public void setDamage(float damage) { public void setDamage(float damage) {
this.damage = damage; this.damage = damage;

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.tools.ProjectileTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
@ -54,6 +55,28 @@ public class HandGrenadeEntity extends FastThrowableProjectile implements GeoEnt
this.fuse = fuse; this.fuse = fuse;
} }
@Override
public void addAdditionalSaveData(@NotNull CompoundTag pCompound) {
super.addAdditionalSaveData(pCompound);
pCompound.putFloat("Damage", this.damage);
pCompound.putFloat("ExplosionDamage", this.explosionDamage);
pCompound.putFloat("Radius", this.explosionRadius);
}
@Override
public void readAdditionalSaveData(@NotNull CompoundTag pCompound) {
super.readAdditionalSaveData(pCompound);
if (pCompound.contains("Damage")) {
this.damage = pCompound.getFloat("Damage");
}
if (pCompound.contains("ExplosionDamage")) {
this.explosionDamage = pCompound.getFloat("ExplosionDamage");
}
if (pCompound.contains("Radius")) {
this.explosionRadius = pCompound.getFloat("Radius");
}
}
@Override @Override
protected @NotNull Item getDefaultItem() { protected @NotNull Item getDefaultItem() {
return ModItems.HAND_GRENADE.get(); return ModItems.HAND_GRENADE.get();

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.network.message.receive.ClientIndicatorMessag
import com.atsuishio.superbwarfare.tools.CustomExplosion; import com.atsuishio.superbwarfare.tools.CustomExplosion;
import com.atsuishio.superbwarfare.tools.ParticleTool; import com.atsuishio.superbwarfare.tools.ParticleTool;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
@ -58,6 +59,34 @@ public class HeliRocketEntity extends FastThrowableProjectile implements GeoEnti
this.explosionRadius = explosionRadius; this.explosionRadius = explosionRadius;
} }
// TODO 音效
// public HeliRocketEntity(PlayMessages.SpawnEntity spawnEntity, Level level) {
// this(ModEntities.HELI_ROCKET.get(), level);
// DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> ClientSoundHandler.playClientSoundInstance(this));
// }
@Override
public void addAdditionalSaveData(CompoundTag pCompound) {
super.addAdditionalSaveData(pCompound);
pCompound.putFloat("Damage", this.damage);
pCompound.putFloat("ExplosionDamage", this.explosionDamage);
pCompound.putFloat("Radius", this.explosionRadius);
}
@Override
public void readAdditionalSaveData(CompoundTag pCompound) {
super.readAdditionalSaveData(pCompound);
if (pCompound.contains("Damage")) {
this.damage = pCompound.getFloat("Damage");
}
if (pCompound.contains("ExplosionDamage")) {
this.explosionDamage = pCompound.getFloat("ExplosionDamage");
}
if (pCompound.contains("Radius")) {
this.explosionRadius = pCompound.getFloat("Radius");
}
}
@Override @Override
protected @NotNull Item getDefaultItem() { protected @NotNull Item getDefaultItem() {
return ModItems.ROCKET.get(); return ModItems.ROCKET.get();

View file

@ -60,8 +60,8 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private float monsterMultiplier = 0.0f; private float monsterMultiplier = 0.0f;
private float damage = 500.0f; private float damage = 500.0f;
private float explosion_damage = 140f; private float explosionDamage = 140f;
private float explosion_radius = 6f; private float explosionRadius = 6f;
private boolean distracted = false; private boolean distracted = false;
private int guide_type = 0; private int guide_type = 0;
@ -70,11 +70,11 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
this.noCulling = true; this.noCulling = true;
} }
public JavelinMissileEntity(LivingEntity entity, Level level, float damage, float explosion_damage, float explosion_radius, int guide_type, Vec3 targetPos) { public JavelinMissileEntity(LivingEntity entity, Level level, float damage, float explosionDamage, float explosionRadius, int guide_type, Vec3 targetPos) {
super(ModEntities.JAVELIN_MISSILE.get(), entity, level); super(ModEntities.JAVELIN_MISSILE.get(), entity, level);
this.damage = damage; this.damage = damage;
this.explosion_damage = explosion_damage; this.explosionDamage = explosionDamage;
this.explosion_radius = explosion_radius; this.explosionRadius = explosionRadius;
this.guide_type = guide_type; this.guide_type = guide_type;
this.entityData.set(TARGET_X, (float) targetPos.x); this.entityData.set(TARGET_X, (float) targetPos.x);
this.entityData.set(TARGET_Y, (float) targetPos.y); this.entityData.set(TARGET_Y, (float) targetPos.y);
@ -144,12 +144,24 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
if (compound.contains("Health")) { if (compound.contains("Health")) {
this.entityData.set(HEALTH, compound.getFloat("Health")); this.entityData.set(HEALTH, compound.getFloat("Health"));
} }
if (compound.contains("Damage")) {
this.damage = compound.getFloat("Damage");
}
if (compound.contains("ExplosionDamage")) {
this.explosionDamage = compound.getFloat("ExplosionDamage");
}
if (compound.contains("Radius")) {
this.explosionRadius = compound.getFloat("Radius");
}
} }
@Override @Override
public void addAdditionalSaveData(@NotNull CompoundTag compound) { public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound); super.addAdditionalSaveData(compound);
compound.putFloat("Health", this.entityData.get(HEALTH)); compound.putFloat("Health", this.entityData.get(HEALTH));
compound.putFloat("Damage", this.damage);
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
} }
@Override @Override
@ -315,7 +327,7 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
if (this.level() instanceof ServerLevel) { if (this.level() instanceof ServerLevel) {
ProjectileTool.causeCustomExplode(this, ProjectileTool.causeCustomExplode(this,
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()),
this, this.explosion_damage, this.explosion_radius, this.monsterMultiplier); this, this.explosionDamage, this.explosionRadius, this.monsterMultiplier);
} }
this.discard(); this.discard();
} }
@ -337,11 +349,11 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(),
this, this,
this.getOwner()), this.getOwner()),
explosion_damage, explosionDamage,
this.getX(), this.getX(),
this.getEyeY(), this.getEyeY(),
this.getZ(), this.getZ(),
explosion_radius, explosionRadius,
ExplosionConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP, true). ExplosionConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP, true).
setDamageMultiplier(this.monsterMultiplier); setDamageMultiplier(this.monsterMultiplier);
explosion.explode(); explosion.explode();
@ -396,11 +408,11 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
@Override @Override
public void setExplosionDamage(float damage) { public void setExplosionDamage(float damage) {
this.explosion_damage = damage; this.explosionDamage = damage;
} }
@Override @Override
public void setExplosionRadius(float radius) { public void setExplosionRadius(float radius) {
this.explosion_radius = radius; this.explosionRadius = radius;
} }
} }

View file

@ -81,12 +81,20 @@ public class MelonBombEntity extends FastThrowableProjectile implements Destroya
if (compound.contains("Health")) { if (compound.contains("Health")) {
this.entityData.set(HEALTH, compound.getFloat("Health")); this.entityData.set(HEALTH, compound.getFloat("Health"));
} }
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
} }
@Override @Override
public void addAdditionalSaveData(@NotNull CompoundTag compound) { public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound); super.addAdditionalSaveData(compound);
compound.putFloat("Health", this.entityData.get(HEALTH)); compound.putFloat("Health", this.entityData.get(HEALTH));
if (compound.contains("ExplosionDamage")) {
this.explosionDamage = compound.getFloat("ExplosionDamage");
}
if (compound.contains("Radius")) {
this.explosionRadius = compound.getFloat("Radius");
}
} }
@Override @Override

View file

@ -93,12 +93,20 @@ public class Mk82Entity extends FastThrowableProjectile implements GeoEntity, De
if (compound.contains("Health")) { if (compound.contains("Health")) {
this.entityData.set(HEALTH, compound.getFloat("Health")); this.entityData.set(HEALTH, compound.getFloat("Health"));
} }
if (compound.contains("ExplosionDamage")) {
this.explosionDamage = compound.getFloat("ExplosionDamage");
}
if (compound.contains("Radius")) {
this.explosionRadius = compound.getFloat("Radius");
}
} }
@Override @Override
public void addAdditionalSaveData(@NotNull CompoundTag compound) { public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound); super.addAdditionalSaveData(compound);
compound.putFloat("Health", this.entityData.get(HEALTH)); compound.putFloat("Health", this.entityData.get(HEALTH));
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
} }
@Override @Override

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.tools.ParticleTool;
import com.atsuishio.superbwarfare.tools.ProjectileTool; import com.atsuishio.superbwarfare.tools.ProjectileTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource; import net.minecraft.sounds.SoundSource;
@ -34,6 +35,8 @@ import software.bernie.geckolib.util.GeckoLibUtil;
public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEntity, ExplosiveProjectile { public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEntity, ExplosiveProjectile {
private float explosionDamage = ExplosionConfig.RGO_GRENADE_EXPLOSION_DAMAGE.get();
private float explosionRadius = ExplosionConfig.RGO_GRENADE_EXPLOSION_RADIUS.get();
private int fuse = 80; private int fuse = 80;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
@ -52,6 +55,24 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
this.fuse = fuse; this.fuse = fuse;
} }
@Override
public void addAdditionalSaveData(CompoundTag pCompound) {
super.addAdditionalSaveData(pCompound);
pCompound.putFloat("ExplosionDamage", this.explosionDamage);
pCompound.putFloat("Radius", this.explosionRadius);
}
@Override
public void readAdditionalSaveData(CompoundTag pCompound) {
super.readAdditionalSaveData(pCompound);
if (pCompound.contains("ExplosionDamage")) {
this.explosionDamage = pCompound.getFloat("ExplosionDamage");
}
if (pCompound.contains("Radius")) {
this.explosionRadius = pCompound.getFloat("Radius");
}
}
@Override @Override
protected @NotNull Item getDefaultItem() { protected @NotNull Item getDefaultItem() {
return ModItems.RGO_GRENADE.get(); return ModItems.RGO_GRENADE.get();
@ -73,7 +94,7 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
if (state.getBlock() instanceof BellBlock bell) { if (state.getBlock() instanceof BellBlock bell) {
bell.attemptToRing(this.level(), resultPos, blockResult.getDirection()); bell.attemptToRing(this.level(), resultPos, blockResult.getDirection());
} }
ProjectileTool.causeCustomExplode(this, ExplosionConfig.RGO_GRENADE_EXPLOSION_DAMAGE.get(), ExplosionConfig.RGO_GRENADE_EXPLOSION_RADIUS.get(), 1.2f); ProjectileTool.causeCustomExplode(this, this.explosionDamage, this.explosionRadius, 1.2f);
break; break;
case ENTITY: case ENTITY:
@ -87,7 +108,7 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
} }
} }
if (!(entity instanceof DroneEntity)) { if (!(entity instanceof DroneEntity)) {
ProjectileTool.causeCustomExplode(this, ExplosionConfig.RGO_GRENADE_EXPLOSION_DAMAGE.get(), ExplosionConfig.RGO_GRENADE_EXPLOSION_RADIUS.get(), 1.2f); ProjectileTool.causeCustomExplode(this, this.explosionDamage, this.explosionRadius, 1.2f);
} }
break; break;
default: default:
@ -104,7 +125,7 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
if (this.fuse <= 0) { if (this.fuse <= 0) {
this.discard(); this.discard();
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
ProjectileTool.causeCustomExplode(this, ExplosionConfig.RGO_GRENADE_EXPLOSION_DAMAGE.get(), ExplosionConfig.RGO_GRENADE_EXPLOSION_RADIUS.get(), 1.2f); ProjectileTool.causeCustomExplode(this, this.explosionDamage, this.explosionRadius, 1.2f);
} }
} }
@ -138,18 +159,17 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
this.xRotO = this.getXRot(); this.xRotO = this.getXRot();
} }
// TODO setter
@Override @Override
public void setDamage(float damage) { public void setDamage(float damage) {
} }
@Override @Override
public void setExplosionDamage(float explosionDamage) { public void setExplosionDamage(float explosionDamage) {
this.explosionDamage = explosionDamage;
} }
@Override @Override
public void setExplosionRadius(float radius) { public void setExplosionRadius(float radius) {
this.explosionRadius = radius;
} }
} }

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.tools.ParticleTool;
import com.atsuishio.superbwarfare.tools.ProjectileTool; import com.atsuishio.superbwarfare.tools.ProjectileTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
@ -88,6 +89,28 @@ public class RpgRocketEntity extends FastThrowableProjectile implements GeoEntit
this.monsterMultiplier = monsterMultiplier; this.monsterMultiplier = monsterMultiplier;
} }
@Override
public void addAdditionalSaveData(CompoundTag pCompound) {
super.addAdditionalSaveData(pCompound);
pCompound.putFloat("Damage", this.damage);
pCompound.putFloat("ExplosionDamage", this.explosionDamage);
pCompound.putFloat("Radius", this.explosionRadius);
}
@Override
public void readAdditionalSaveData(CompoundTag pCompound) {
super.readAdditionalSaveData(pCompound);
if (pCompound.contains("Damage")) {
this.damage = pCompound.getFloat("Damage");
}
if (pCompound.contains("ExplosionDamage")) {
this.explosionDamage = pCompound.getFloat("ExplosionDamage");
}
if (pCompound.contains("Radius")) {
this.explosionRadius = pCompound.getFloat("Radius");
}
}
@Override @Override
protected @NotNull Item getDefaultItem() { protected @NotNull Item getDefaultItem() {
return ModItems.ROCKET.get(); return ModItems.ROCKET.get();

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.tools.CustomExplosion;
import com.atsuishio.superbwarfare.tools.ParticleTool; import com.atsuishio.superbwarfare.tools.ParticleTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource; import net.minecraft.sounds.SoundSource;
@ -60,6 +61,28 @@ public class SmallCannonShellEntity extends FastThrowableProjectile implements G
return this; return this;
} }
@Override
public void addAdditionalSaveData(CompoundTag pCompound) {
super.addAdditionalSaveData(pCompound);
pCompound.putFloat("Damage", this.damage);
pCompound.putFloat("ExplosionDamage", this.explosionDamage);
pCompound.putFloat("Radius", this.explosionRadius);
}
@Override
public void readAdditionalSaveData(CompoundTag pCompound) {
super.readAdditionalSaveData(pCompound);
if (pCompound.contains("Damage")) {
this.damage = pCompound.getFloat("Damage");
}
if (pCompound.contains("ExplosionDamage")) {
this.explosionDamage = pCompound.getFloat("ExplosionDamage");
}
if (pCompound.contains("Radius")) {
this.explosionRadius = pCompound.getFloat("Radius");
}
}
@Override @Override
protected @NotNull Item getDefaultItem() { protected @NotNull Item getDefaultItem() {
return ModItems.SMALL_SHELL.get(); return ModItems.SMALL_SHELL.get();

View file

@ -149,6 +149,12 @@ public class SwarmDroneEntity extends FastThrowableProjectile implements GeoEnti
if (compound.contains("TargetZ")) { if (compound.contains("TargetZ")) {
this.entityData.set(TARGET_X, compound.getFloat("TargetZ")); this.entityData.set(TARGET_X, compound.getFloat("TargetZ"));
} }
if (compound.contains("ExplosionDamage")) {
this.explosionDamage = compound.getFloat("ExplosionDamage");
}
if (compound.contains("Radius")) {
this.explosionRadius = compound.getFloat("Radius");
}
} }
@Override @Override
@ -159,6 +165,8 @@ public class SwarmDroneEntity extends FastThrowableProjectile implements GeoEnti
compound.putFloat("TargetX", this.entityData.get(TARGET_X)); compound.putFloat("TargetX", this.entityData.get(TARGET_X));
compound.putFloat("TargetY", this.entityData.get(TARGET_Y)); compound.putFloat("TargetY", this.entityData.get(TARGET_Y));
compound.putFloat("TargetZ", this.entityData.get(TARGET_Z)); compound.putFloat("TargetZ", this.entityData.get(TARGET_Z));
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
} }
@Override @Override

View file

@ -102,12 +102,24 @@ public class WgMissileEntity extends FastThrowableProjectile implements GeoEntit
if (compound.contains("Health")) { if (compound.contains("Health")) {
this.entityData.set(HEALTH, compound.getFloat("Health")); this.entityData.set(HEALTH, compound.getFloat("Health"));
} }
if (compound.contains("Damage")) {
this.damage = compound.getFloat("Damage");
}
if (compound.contains("ExplosionDamage")) {
this.explosionDamage = compound.getFloat("ExplosionDamage");
}
if (compound.contains("Radius")) {
this.explosionRadius = compound.getFloat("Radius");
}
} }
@Override @Override
public void addAdditionalSaveData(@NotNull CompoundTag compound) { public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound); super.addAdditionalSaveData(compound);
compound.putFloat("Health", this.entityData.get(HEALTH)); compound.putFloat("Health", this.entityData.get(HEALTH));
compound.putFloat("Damage", this.damage);
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
} }
@Override @Override