冲刺♿冲刺♿冲
This commit is contained in:
parent
7de3360ffd
commit
05373e9c85
9 changed files with 102 additions and 4 deletions
|
@ -1,4 +1,4 @@
|
|||
// 1.21.1 2025-05-09T00:21:36.5680126 Superb Warfare Advancements
|
||||
// 1.21.1 2025-05-25T00:56:53.9873193 Superb Warfare Advancements
|
||||
03d6ad4d0bdd3ba66b765dcae9705692070e7f94 data/superbwarfare/advancement/main/ancient_technology.json
|
||||
d24849d7fc09d8cc9a27203e57f1fd42f72a27a7 data/superbwarfare/advancement/main/banzai.json
|
||||
70bd4fa04553c415c80656c4b07cf3814a13110c data/superbwarfare/advancement/main/best_friend.json
|
||||
|
@ -14,4 +14,5 @@ c051b49513bac2be82c2c24e236734a5c3a358c8 data/superbwarfare/advancement/main/enc
|
|||
52417b43fbf1ca3a41d95ee51eafdc4f734bfaa3 data/superbwarfare/advancement/main/physics_excalibur.json
|
||||
392baba1930be09abc70836090c884ad4ada82e8 data/superbwarfare/advancement/main/rare_blueprint.json
|
||||
fbba02bc4970dbaa35fd2b743f4d751b46e9998b data/superbwarfare/advancement/main/root.json
|
||||
61cbafd1a8563c8c19208309e2fd99ed064e12aa data/superbwarfare/advancement/main/rush_rush_run.json
|
||||
6855de73219722b4e44985c87f2d57d71cfd7e15 data/superbwarfare/advancement/main/super_container.json
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"parent": "superbwarfare:main/root",
|
||||
"criteria": {
|
||||
"0": {
|
||||
"trigger": "superbwarfare:otto_sprint"
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"description": {
|
||||
"translate": "superbwarfare.advancement.main.rush_rush_run.des"
|
||||
},
|
||||
"frame": "challenge",
|
||||
"hidden": true,
|
||||
"icon": {
|
||||
"count": 1,
|
||||
"id": "superbwarfare:electric_baton"
|
||||
},
|
||||
"title": {
|
||||
"translate": "superbwarfare.advancement.main.rush_rush_run"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"0"
|
||||
]
|
||||
],
|
||||
"sends_telemetry_event": true
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package com.atsuishio.superbwarfare.advancement.criteria;
|
||||
|
||||
import com.atsuishio.superbwarfare.init.ModCriteriaTriggers;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import net.minecraft.advancements.Criterion;
|
||||
import net.minecraft.advancements.critereon.ContextAwarePredicate;
|
||||
import net.minecraft.advancements.critereon.EntityPredicate;
|
||||
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class OttoSprintTrigger extends SimpleCriterionTrigger<OttoSprintTrigger.TriggerInstance> {
|
||||
|
||||
public void trigger(ServerPlayer pPlayer) {
|
||||
this.trigger(pPlayer, instance -> true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Codec<TriggerInstance> codec() {
|
||||
return TriggerInstance.CODEC;
|
||||
}
|
||||
|
||||
public record TriggerInstance(Optional<ContextAwarePredicate> player) implements SimpleInstance {
|
||||
|
||||
public static final Codec<OttoSprintTrigger.TriggerInstance> CODEC = RecordCodecBuilder.create((instance) ->
|
||||
instance.group(EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player")
|
||||
.forGetter(OttoSprintTrigger.TriggerInstance::player)).apply(instance, TriggerInstance::new));
|
||||
|
||||
public static Criterion<OttoSprintTrigger.TriggerInstance> get() {
|
||||
return ModCriteriaTriggers.OTTO_SPRINT.get().createCriterion(new TriggerInstance(Optional.empty()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Optional<ContextAwarePredicate> player() {
|
||||
return this.player;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -8,6 +8,7 @@ import net.minecraft.advancements.critereon.ContextAwarePredicate;
|
|||
import net.minecraft.advancements.critereon.EntityPredicate;
|
||||
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
|
@ -18,7 +19,7 @@ public class RPGMeleeExplosionTrigger extends SimpleCriterionTrigger<RPGMeleeExp
|
|||
}
|
||||
|
||||
@Override
|
||||
public Codec<TriggerInstance> codec() {
|
||||
public @NotNull Codec<TriggerInstance> codec() {
|
||||
return TriggerInstance.CODEC;
|
||||
}
|
||||
|
||||
|
@ -34,7 +35,7 @@ public class RPGMeleeExplosionTrigger extends SimpleCriterionTrigger<RPGMeleeExp
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<ContextAwarePredicate> player() {
|
||||
public @NotNull Optional<ContextAwarePredicate> player() {
|
||||
return this.player;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.atsuishio.superbwarfare.datagen;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.advancement.criteria.OttoSprintTrigger;
|
||||
import com.atsuishio.superbwarfare.advancement.criteria.RPGMeleeExplosionTrigger;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModTags;
|
||||
|
@ -110,6 +111,11 @@ public class ModAdvancementProvider implements DataProvider {
|
|||
.type(ModAdvancement.Type.SECRET_CHALLENGE)
|
||||
.parent(MAIN_ROOT)),
|
||||
|
||||
RUSH_RUSH_RUN = advancement("rush_rush_run", builder -> builder.icon(ModItems.ELECTRIC_BATON.get())
|
||||
.externalTrigger(OttoSprintTrigger.TriggerInstance.get())
|
||||
.type(ModAdvancement.Type.SECRET_CHALLENGE)
|
||||
.parent(MAIN_ROOT)),
|
||||
|
||||
END = null;
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,9 @@ import com.atsuishio.superbwarfare.Mod;
|
|||
import com.atsuishio.superbwarfare.config.server.ExplosionConfig;
|
||||
import com.atsuishio.superbwarfare.config.server.VehicleConfig;
|
||||
import com.atsuishio.superbwarfare.entity.vehicle.base.MobileVehicleEntity;
|
||||
import com.atsuishio.superbwarfare.init.ModCriteriaTriggers;
|
||||
import com.atsuishio.superbwarfare.init.ModDamageTypes;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||
import com.atsuishio.superbwarfare.tools.CustomExplosion;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
|
@ -128,6 +130,18 @@ public class WheelChairEntity extends MobileVehicleEntity implements GeoEntity {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addPassenger(@NotNull Entity newPassenger) {
|
||||
super.addPassenger(newPassenger);
|
||||
|
||||
if (newPassenger instanceof ServerPlayer player
|
||||
&& (player.getMainHandItem().getItem() == ModItems.ELECTRIC_BATON.get()
|
||||
|| player.getOffhandItem().getItem() == ModItems.ELECTRIC_BATON.get())
|
||||
) {
|
||||
ModCriteriaTriggers.OTTO_SPRINT.get().trigger(player);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void travel() {
|
||||
Entity passenger = this.getFirstPassenger();
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.atsuishio.superbwarfare.init;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.advancement.criteria.OttoSprintTrigger;
|
||||
import com.atsuishio.superbwarfare.advancement.criteria.RPGMeleeExplosionTrigger;
|
||||
import net.minecraft.advancements.CriterionTrigger;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
|
@ -13,4 +14,5 @@ public class ModCriteriaTriggers {
|
|||
public static final DeferredRegister<CriterionTrigger<?>> REGISTRY = DeferredRegister.create(Registries.TRIGGER_TYPE, Mod.MODID);
|
||||
|
||||
public static final Supplier<RPGMeleeExplosionTrigger> RPG_MELEE_EXPLOSION = REGISTRY.register("rpg_melee_explosion", RPGMeleeExplosionTrigger::new);
|
||||
public static final Supplier<OttoSprintTrigger> OTTO_SPRINT = REGISTRY.register("otto_sprint", OttoSprintTrigger::new);
|
||||
}
|
||||
|
|
|
@ -672,6 +672,8 @@
|
|||
"superbwarfare.advancement.main.enclave.des": "Where is the pendulum?",
|
||||
"superbwarfare.advancement.main.boomstick_melee": "This is my Boomstick!",
|
||||
"superbwarfare.advancement.main.boomstick_melee.des": "Who said RPGs can't be baseball bats?",
|
||||
"superbwarfare.advancement.main.rush_rush_run": "Rush♿Rush♿Run",
|
||||
"superbwarfare.advancement.main.rush_rush_run.des": "The electric baton has to be paired with a wheelchair to deal damage, making it look as weak as a terminal superb soldier.",
|
||||
"warning.title.example": "[SuperbWarfare Mod Warning]",
|
||||
"warning.content.example": "This mod is Free And Open-Source, No Commercial Use\nCode: GPL-3.0 License; Asserts: Private (No Commercialization)\nBan on paid downloads or EULA-breaking purchases\nReport violations by submitting an issue in the mod's repository",
|
||||
"warning.check.example": "I have read and agreed to the content. Do not show this message again",
|
||||
|
|
|
@ -672,6 +672,8 @@
|
|||
"superbwarfare.advancement.main.enclave.des": "钟摆在哪?",
|
||||
"superbwarfare.advancement.main.boomstick_melee": "跟你爆了",
|
||||
"superbwarfare.advancement.main.boomstick_melee.des": "谁说RPG不能当棒球棒用?",
|
||||
"superbwarfare.advancement.main.rush_rush_run": "冲刺♿冲刺♿冲",
|
||||
"superbwarfare.advancement.main.rush_rush_run.des": "电棍得配轮椅才能打得出伤害,搞的跟卓越晚期一样",
|
||||
"warning.title.example": "【卓越前线 警示声明】",
|
||||
"warning.content.example": "== 本模组完全免费开源,禁止用于任何商业行为 ==\n本模组代码采用GPL-3协议开源,美术资源私有禁止商用\n禁止付费下载、充值获取道具等违反协议和Mojang EULA的行为\n如遇以上行为,请到本模组仓库处提交Issue进行举报",
|
||||
"warning.check.example": "我已阅读并同意,不再显示此警告",
|
||||
|
@ -726,5 +728,6 @@
|
|||
"superbwarfare.page.vehicle.ah_61": "$(thing)AH-6 小鸟直升机$()是一款轻型直升机,可搭载4人,装甲防护较为贫弱。携带4发可干扰制导锁定的热诱弹,每隔一段时间自动逐发补充。",
|
||||
"superbwarfare.page.vehicle.ah_62": "需要至少 5 x 5 x 3 的空间放置。",
|
||||
"superbwarfare.page.vehicle.ah_63": "$(l)基础属性:$()$(p)耐久值 - 250$(br)最大乘员数 - 4$(br)最大能量 - 500,000FE$(br)能耗 - 64 ~ 128FE/tick",
|
||||
"superbwarfare.page.vehicle.ah_64": "$(l)武器属性:$()$(p)1号位:$(p)(1) 20mm机炮$(br)射速 - 500RPM$(br)直击伤害 - 25$(br)爆炸伤害 - 13$(br)爆炸半径 - 4m$(br)弹药 - $(item)小口径炮弹$()$(br)(2) 70mm火箭弹$(br)直击伤害 - 80$(br)爆炸伤害 - 40$(br)爆炸半径 - 5m$(br)弹药 - $(item)70mm火箭弹$()"
|
||||
"superbwarfare.page.vehicle.ah_64": "$(l)武器属性:$()$(p)1号位:$(p)(1) 20mm机炮$(br)射速 - 500RPM$(br)直击伤害 - 25$(br)爆炸伤害 - 13$(br)爆炸半径 - 4m$(br)弹药 - $(item)小口径炮弹$()$(br)(2) 70mm火箭弹$(br)直击伤害 - 80$(br)爆炸伤害 - 40$(br)爆炸半径 - 5m$(br)弹药 - $(item)70mm火箭弹$()",
|
||||
"des.superbwarfare.charging_station": "Charge nearby entities and adjacent blocks"
|
||||
}
|
Loading…
Add table
Reference in a new issue