添加投射物的属性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
c7ee888c6a22a799172b3a4b488c31e1d1d43cc0 data/superbwarfare/loot_table/blocks/aircraft_catapult.json
// 1.21.1 2025-05-13T23:23:11.1552806 Loot Tables
e71d9e1055ddb98520b16fafd202f9db3a696f54 data/superbwarfare/loot_table/blocks/aircraft_catapult.json
98386b2e65b2afb7cf5b0cabf6a7b0f062c1e640 data/superbwarfare/loot_table/blocks/barbed_wire.json
811e69929a14e6736015849c220100bb58d914c9 data/superbwarfare/loot_table/blocks/cemented_carbide_block.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
1db13c2f6bc5225df98d2c1a550b3e175d1e9f92 assets/superbwarfare/blockstates/aircraft_catapult.json
// 1.21.1 2025-05-13T23:23:11.1533404 Block States: superbwarfare
d91c9c8e6e02a0f7c75b02aaccfd1ecf98ad199b assets/superbwarfare/blockstates/aircraft_catapult.json
f3b778ca36ca78c3d80f1b778078897f59bdb0c5 assets/superbwarfare/blockstates/barbed_wire.json
0cfad4f53a8047c402edf978d0c8cf6269f063cb assets/superbwarfare/blockstates/cemented_carbide_block.json
472c06e6b43ad09925edaa88e9376bfd27ab267f assets/superbwarfare/blockstates/charging_station.json

View file

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

View file

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

View file

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

View file

@ -9,6 +9,7 @@ import com.atsuishio.superbwarfare.tools.ParticleTool;
import com.atsuishio.superbwarfare.tools.ProjectileTool;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource;
@ -50,6 +51,28 @@ public class GunGrenadeEntity extends FastThrowableProjectile implements GeoEnti
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
public void setDamage(float 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.Direction;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent;
@ -54,6 +55,28 @@ public class HandGrenadeEntity extends FastThrowableProjectile implements GeoEnt
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
protected @NotNull Item getDefaultItem() {
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.ParticleTool;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent;
@ -58,6 +59,34 @@ public class HeliRocketEntity extends FastThrowableProjectile implements GeoEnti
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
protected @NotNull Item getDefaultItem() {
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 float monsterMultiplier = 0.0f;
private float damage = 500.0f;
private float explosion_damage = 140f;
private float explosion_radius = 6f;
private float explosionDamage = 140f;
private float explosionRadius = 6f;
private boolean distracted = false;
private int guide_type = 0;
@ -70,11 +70,11 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
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);
this.damage = damage;
this.explosion_damage = explosion_damage;
this.explosion_radius = explosion_radius;
this.explosionDamage = explosionDamage;
this.explosionRadius = explosionRadius;
this.guide_type = guide_type;
this.entityData.set(TARGET_X, (float) targetPos.x);
this.entityData.set(TARGET_Y, (float) targetPos.y);
@ -144,12 +144,24 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
if (compound.contains("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
public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putFloat("Health", this.entityData.get(HEALTH));
compound.putFloat("Damage", this.damage);
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
}
@Override
@ -315,7 +327,7 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
if (this.level() instanceof ServerLevel) {
ProjectileTool.causeCustomExplode(this,
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();
}
@ -337,11 +349,11 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(),
this,
this.getOwner()),
explosion_damage,
explosionDamage,
this.getX(),
this.getEyeY(),
this.getZ(),
explosion_radius,
explosionRadius,
ExplosionConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP, true).
setDamageMultiplier(this.monsterMultiplier);
explosion.explode();
@ -396,11 +408,11 @@ public class JavelinMissileEntity extends FastThrowableProjectile implements Geo
@Override
public void setExplosionDamage(float damage) {
this.explosion_damage = damage;
this.explosionDamage = damage;
}
@Override
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")) {
this.entityData.set(HEALTH, compound.getFloat("Health"));
}
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
}
@Override
public void addAdditionalSaveData(@NotNull CompoundTag compound) {
super.addAdditionalSaveData(compound);
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

View file

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

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.tools.ParticleTool;
import com.atsuishio.superbwarfare.tools.ProjectileTool;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource;
@ -34,6 +35,8 @@ import software.bernie.geckolib.util.GeckoLibUtil;
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 final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
@ -52,6 +55,24 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
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
protected @NotNull Item getDefaultItem() {
return ModItems.RGO_GRENADE.get();
@ -73,7 +94,7 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
if (state.getBlock() instanceof BellBlock bell) {
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;
case ENTITY:
@ -87,7 +108,7 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
}
}
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;
default:
@ -104,7 +125,7 @@ public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEnti
if (this.fuse <= 0) {
this.discard();
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();
}
// TODO setter
@Override
public void setDamage(float damage) {
}
@Override
public void setExplosionDamage(float explosionDamage) {
this.explosionDamage = explosionDamage;
}
@Override
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 net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent;
@ -88,6 +89,28 @@ public class RpgRocketEntity extends FastThrowableProjectile implements GeoEntit
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
protected @NotNull Item getDefaultItem() {
return ModItems.ROCKET.get();

View file

@ -10,6 +10,7 @@ import com.atsuishio.superbwarfare.tools.CustomExplosion;
import com.atsuishio.superbwarfare.tools.ParticleTool;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource;
@ -60,6 +61,28 @@ public class SmallCannonShellEntity extends FastThrowableProjectile implements G
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
protected @NotNull Item getDefaultItem() {
return ModItems.SMALL_SHELL.get();

View file

@ -149,6 +149,12 @@ public class SwarmDroneEntity extends FastThrowableProjectile implements GeoEnti
if (compound.contains("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
@ -159,6 +165,8 @@ public class SwarmDroneEntity extends FastThrowableProjectile implements GeoEnti
compound.putFloat("TargetX", this.entityData.get(TARGET_X));
compound.putFloat("TargetY", this.entityData.get(TARGET_Y));
compound.putFloat("TargetZ", this.entityData.get(TARGET_Z));
compound.putFloat("ExplosionDamage", this.explosionDamage);
compound.putFloat("Radius", this.explosionRadius);
}
@Override

View file

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