添加萤火虫

This commit is contained in:
17146 2025-05-08 12:53:11 +08:00 committed by Light_Quanta
parent ddf3b59280
commit 97d4d5df0f
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
20 changed files with 97 additions and 0 deletions

View file

@ -73,6 +73,7 @@ public class ModPerks {
public static final DeferredHolder<Perk, Perk> DESPERADO = DAMAGE_PERKS.register("desperado", Desperado::new); public static final DeferredHolder<Perk, Perk> DESPERADO = DAMAGE_PERKS.register("desperado", Desperado::new);
public static final DeferredHolder<Perk, Perk> VORPAL_WEAPON = DAMAGE_PERKS.register("vorpal_weapon", VorpalWeapon::new); public static final DeferredHolder<Perk, Perk> VORPAL_WEAPON = DAMAGE_PERKS.register("vorpal_weapon", VorpalWeapon::new);
public static final DeferredHolder<Perk, Perk> MAGNIFICENT_HOWL = DAMAGE_PERKS.register("magnificent_howl", MagnificentHowl::new); public static final DeferredHolder<Perk, Perk> MAGNIFICENT_HOWL = DAMAGE_PERKS.register("magnificent_howl", MagnificentHowl::new);
public static final DeferredHolder<Perk, Perk> FIREFLY = DAMAGE_PERKS.register("firefly", Firefly::new);
// public static void registerCompatPerks() { // public static void registerCompatPerks() {
// if (ModList.get().isLoaded(CompatHolder.DMV)) { // if (ModList.get().isLoaded(CompatHolder.DMV)) {

View file

@ -0,0 +1,45 @@
package com.atsuishio.superbwarfare.perk.damage;
import com.atsuishio.superbwarfare.init.ModDamageTypes;
import com.atsuishio.superbwarfare.item.gun.data.GunData;
import com.atsuishio.superbwarfare.perk.Perk;
import com.atsuishio.superbwarfare.perk.PerkInstance;
import com.atsuishio.superbwarfare.tools.CustomExplosion;
import com.atsuishio.superbwarfare.tools.DamageTypeTool;
import com.atsuishio.superbwarfare.tools.ParticleTool;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.Projectile;
import net.neoforged.neoforge.event.EventHooks;
public class Firefly extends Perk {
public Firefly() {
super("firefly", Perk.Type.DAMAGE);
}
@Override
public void onKill(GunData data, PerkInstance instance, LivingEntity target, DamageSource source) {
if (!DamageTypeTool.isHeadshotDamage(source)) return;
Player attacker = null;
if (source.getEntity() instanceof Player player) {
attacker = player;
}
if (source.getDirectEntity() instanceof Projectile p && p.getOwner() instanceof Player player) {
attacker = player;
}
if (attacker == null) return;
CustomExplosion explosion = new CustomExplosion(target.level(), attacker,
ModDamageTypes.causeProjectileBoomDamage(target.level().registryAccess(), null, attacker),
6 + instance.level() * 2, target.getX(), target.getY(), target.getZ(),
2 + instance.level() * 0.5f, CustomExplosion.BlockInteraction.KEEP, false)
.setFireTime(3 + instance.level() / 3);
explosion.explode();
EventHooks.onExplosionStart(target.level(), explosion);
explosion.finalizeExplosion(false);
ParticleTool.spawnSmallExplosionParticles(target.level(), target.position());
}
}

View file

@ -360,6 +360,8 @@
"des.superbwarfare.vorpal_weapon": "Increases damage against bosses.", "des.superbwarfare.vorpal_weapon": "Increases damage against bosses.",
"item.superbwarfare.magnificent_howl": "Magnificent Howl", "item.superbwarfare.magnificent_howl": "Magnificent Howl",
"des.superbwarfare.magnificent_howl": "The number of precision final blows before reloading affects the total rounds granted with increased damage.", "des.superbwarfare.magnificent_howl": "The number of precision final blows before reloading affects the total rounds granted with increased damage.",
"item.superbwarfare.firefly": "Firefly",
"des.superbwarfare.firefly": "Precision kills cause the target to explode with fire.",
"item.superbwarfare.empty_perk": "Empty Perk", "item.superbwarfare.empty_perk": "Empty Perk",
"item.superbwarfare.shortcut_pack": "Shortcut Pack", "item.superbwarfare.shortcut_pack": "Shortcut Pack",

View file

@ -358,6 +358,8 @@
"des.superbwarfare.vorpal_weapon": "提升对强大敌人造成的伤害", "des.superbwarfare.vorpal_weapon": "提升对强大敌人造成的伤害",
"item.superbwarfare.magnificent_howl": "宏伟之嚎", "item.superbwarfare.magnificent_howl": "宏伟之嚎",
"des.superbwarfare.magnificent_howl": "填装前精准最后一击的次数会影响伤害增加的子弹总数", "des.superbwarfare.magnificent_howl": "填装前精准最后一击的次数会影响伤害增加的子弹总数",
"item.superbwarfare.firefly": "萤火虫",
"des.superbwarfare.firefly": "完成精准击杀可以使目标产生一次燃烧爆炸",
"item.superbwarfare.empty_perk": "空白模组", "item.superbwarfare.empty_perk": "空白模组",
"item.superbwarfare.shortcut_pack": "捷径包", "item.superbwarfare.shortcut_pack": "捷径包",

View file

@ -30,6 +30,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -30,6 +30,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -25,6 +25,7 @@
"superbwarfare:gutshot_straight", "superbwarfare:gutshot_straight",
"superbwarfare:monster_hunter", "superbwarfare:monster_hunter",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire", "!superbwarfare:longer_wire",
"!superbwarfare:butterfly_bullet" "!superbwarfare:butterfly_bullet"

View file

@ -27,6 +27,7 @@
"superbwarfare:monster_hunter", "superbwarfare:monster_hunter",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire", "!superbwarfare:longer_wire",
"!superbwarfare:butterfly_bullet" "!superbwarfare:butterfly_bullet"

View file

@ -30,6 +30,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -28,6 +28,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -25,6 +25,7 @@
"superbwarfare:gutshot_straight", "superbwarfare:gutshot_straight",
"superbwarfare:monster_hunter", "superbwarfare:monster_hunter",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire", "!superbwarfare:longer_wire",
"!superbwarfare:butterfly_bullet" "!superbwarfare:butterfly_bullet"

View file

@ -30,6 +30,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -29,6 +29,7 @@
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:magnificent_howl", "superbwarfare:magnificent_howl",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -30,6 +30,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -25,6 +25,7 @@
"superbwarfare:gutshot_straight", "superbwarfare:gutshot_straight",
"superbwarfare:monster_hunter", "superbwarfare:monster_hunter",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire", "!superbwarfare:longer_wire",
"!superbwarfare:butterfly_bullet" "!superbwarfare:butterfly_bullet"

View file

@ -30,6 +30,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -27,6 +27,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:magnificent_howl", "superbwarfare:magnificent_howl",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -26,6 +26,7 @@
"superbwarfare:monster_hunter", "superbwarfare:monster_hunter",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:magnificent_howl", "superbwarfare:magnificent_howl",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire", "!superbwarfare:longer_wire",
"!superbwarfare:butterfly_bullet" "!superbwarfare:butterfly_bullet"

View file

@ -29,6 +29,7 @@
"superbwarfare:head_seeker", "superbwarfare:head_seeker",
"superbwarfare:desperado", "superbwarfare:desperado",
"superbwarfare:vorpal_weapon", "superbwarfare:vorpal_weapon",
"superbwarfare:firefly",
"!superbwarfare:micro_missile", "!superbwarfare:micro_missile",
"!superbwarfare:longer_wire" "!superbwarfare:longer_wire"
] ]

View file

@ -0,0 +1,32 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"pattern": [
"cbc",
"bab",
"cbc"
],
"key": {
"a": {
"item": "superbwarfare:empty_perk"
},
"b": [
{
"item": "minecraft:ochre_froglight"
},
{
"item": "minecraft:verdant_froglight"
},
{
"item": "minecraft:pearlescent_froglight"
}
],
"c": {
"item": "superbwarfare:high_energy_explosives"
}
},
"result": {
"id": "superbwarfare:firefly",
"count": 1
}
}