Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions src/generated/resources/assets/gtceu/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -2594,6 +2594,7 @@
"gtceu.key.enable_boots": "Enable Boosted Jump",
"gtceu.key.enable_jetpack": "Enable Jetpack",
"gtceu.key.tool_aoe_change": "Tool AoE Mode Switch",
"gtceu.key.enable_step_assist": "Enable StepAssist",
"gtceu.large_boiler": "Large Boiler",
"gtceu.large_chemical_reactor": "Large Chemical Reactor",
"gtceu.laser_engraver": "Laser Engraver",
Expand Down Expand Up @@ -5671,20 +5672,26 @@
"metaarmor.message.nightvision.disabled": "§bNightVision: §cOff",
"metaarmor.message.nightvision.enabled": "§bNightVision: §aOn",
"metaarmor.message.nightvision.error": "§cNot enough power!",
"metaarmor.nms.boosted_jump.disabled": "NanoMuscle™ Suite: Jump Boost Disabled",
"metaarmor.nms.boosted_jump.enabled": "NanoMuscle™ Suite: Jump Boost Enabled",
"metaarmor.message.step_assist.disabled": "StepAssist: §cOff",
"metaarmor.message.step_assist.enabled": "StepAssist: §aOn",
"metaarmor.nms.nightvision.disabled": "NanoMuscle™ Suite: NightVision Disabled",
"metaarmor.nms.nightvision.enabled": "NanoMuscle™ Suite: NightVision Enabled",
"metaarmor.nms.nightvision.error": "NanoMuscle™ Suite: §cNot enough power!",
"metaarmor.nms.share.disable": "NanoMuscle™ Suite: Charging Disabled",
"metaarmor.nms.share.enable": "NanoMuscle™ Suite: Charging Enabled",
"metaarmor.nms.share.error": "NanoMuscle™ Suite: §cNot enough power for charging!",
"metaarmor.qts.nightvision.disabled": "QuarkTech™ Suite: NightVision Disabled",
"metaarmor.qts.nightvision.enabled": "QuarkTech™ Suite: NightVision Enabled",
"metaarmor.qts.nightvision.error": "QuarkTech™ Suite: §cNot enough power!",
"metaarmor.nms.step_assist.disabled": "NanoMuscle™ Suite: StepAssist Disabled",
"metaarmor.nms.step_assist.enabled": "NanoMuscle™ Suite: StepAssist Enabled",
"metaarmor.qts.step_assist.disabled": "QuarkTech™ Suite: StepAssist Disabled",
"metaarmor.qts.step_assist.enabled": "QuarkTech™ Suite: StepAssist Enabled",
"metaarmor.nms.share.disable": "NanoMuscle™ Suite: Charging Disabled",
"metaarmor.nms.share.enable": "NanoMuscle™ Suite: Charging Enabled",
"metaarmor.nms.share.error": "NanoMuscle™ Suite: §cNot enough power for charging!",
"metaarmor.qts.share.disable": "QuarkTech™ Suite: Charging Disabled",
"metaarmor.qts.share.enable": "QuarkTech™ Suite: Charging Enabled",
"metaarmor.qts.share.error": "QuarkTech™ Suite: §cNot enough power for charging!",
"metaarmor.qts.boosted_jump.disabled": "QuarkTech™ Suite: Jump Boost Disabled",
"metaarmor.qts.boosted_jump.enabled": "QuarkTech™ Suite: Jump Boost Enabled",
"metaarmor.tooltip.autoeat": "Replenishes Food Bar by Using Food from Inventory",
"metaarmor.tooltip.breath": "Replenishes Underwater Breath Bar",
"metaarmor.tooltip.burning": "Nullifies Burning",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,36 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) {
return;
}
CompoundTag data = itemStack.getOrCreateTag();
byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0;
int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") :
ArmorUtils.NIGHTVISION_DURATION;

byte toggleStepTimer = data.getByte("toggleStepTimer");
if (type == ArmorItem.Type.BOOTS) {
boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist");
if (toggleStepTimer == 0 && SyncedKeyMappings.STEP_ASSIST_ENABLE.isKeyDown(player)) {
stepAssist = !stepAssist;
toggleStepTimer = 5;
if (world.isClientSide()) player.displayClientMessage(Component
.translatable("metaarmor.nms.step_assist." + (stepAssist ? "enabled" : "disabled")), true);
data.putBoolean("stepAssist", stepAssist);
}

if (toggleStepTimer > 0) toggleStepTimer--;
data.putInt("toggleStepTimer", toggleStepTimer);
}

if (type == ArmorItem.Type.HELMET) {
byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0;
int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") :
ArmorUtils.NIGHTVISION_DURATION;
boolean nightVision = data.contains("nightVision") && data.getBoolean("nightVision");
if (toggleTimer == 0 && SyncedKeyMappings.ARMOR_MODE_SWITCH.isKeyDown(player)) {
nightVision = !nightVision;
toggleTimer = 5;
if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) {
nightVision = false;
player.displayClientMessage(Component.translatable("metaarmor.nms.nightvision.error"), true);
if (world.isClientSide())
player.displayClientMessage(Component.translatable("metaarmor.nms.nightvision.error"), true);
} else {
player.displayClientMessage(Component
if (world.isClientSide()) player.displayClientMessage(Component
.translatable("metaarmor.nms.nightvision." + (nightVision ? "enabled" : "disabled")), true);
}
}
Expand All @@ -81,14 +98,11 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) {
player.removeEffect(MobEffects.NIGHT_VISION);
}
data.putBoolean("nightVision", nightVision);

if (nightVisionTimer > 0) nightVisionTimer--;
if (toggleTimer > 0) toggleTimer--;
data.putInt("nightVisionTimer", nightVisionTimer);
data.putByte("toggleTimer", toggleTimer);
}

if (nightVisionTimer > 0) nightVisionTimer--;
if (toggleTimer > 0) toggleTimer--;

data.putInt("nightVisionTimer", nightVisionTimer);
data.putByte("toggleTimer", toggleTimer);
}

public static void disableNightVision(@NotNull Level world, Player player, boolean sendMsg) {
Expand Down Expand Up @@ -163,16 +177,19 @@ public void drawHUD(ItemStack item, GuiGraphics guiGraphics) {
@Override
public void addInfo(ItemStack itemStack, List<Component> lines) {
super.addInfo(itemStack, lines);
CompoundTag nbtData = itemStack.getOrCreateTag();
if (type == ArmorItem.Type.HELMET) {
CompoundTag nbtData = itemStack.getOrCreateTag();

boolean nv = nbtData.getBoolean("nightVision");
if (nv) {
lines.add(Component.translatable("metaarmor.message.nightvision.enabled"));
} else {
lines.add(Component.translatable("metaarmor.message.nightvision.disabled"));
}
} else if (type == ArmorItem.Type.BOOTS) {
lines.add(Component.translatable("metaarmor.tooltip.stepassist"));
if (nbtData.getBoolean("stepAssist"))
lines.add(Component.translatable("metaarmor.message.step_assist.enabled"));
else lines.add(Component.translatable("metaarmor.message.step_assist.disabled"));
lines.add(Component.translatable("metaarmor.tooltip.falldamage"));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) {
int nightVisionTimer = data.contains("nightVisionTimer") ? data.getInt("nightVisionTimer") :
ArmorUtils.NIGHTVISION_DURATION;
byte runningTimer = data.contains("runningTimer") ? data.getByte("runningTimer") : RUNNING_TIMER;
byte boostedJumpTimer = data.contains("boostedJumpTimer") ? data.getByte("boostedJumpTimer") : JUMPING_TIMER;
byte toggleBootsTimer = data.contains("toggleBootsTimer") ? data.getByte("toggleBootsTimer") : JUMPING_TIMER;

if (!player.getItemBySlot(EquipmentSlot.CHEST).is(GTItems.QUANTUM_CHESTPLATE.get()) &&
!player.getItemBySlot(EquipmentSlot.CHEST).is(GTItems.QUANTUM_CHESTPLATE_ADVANCED.get())) {
Expand All @@ -98,10 +98,10 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) {
toggleTimer = 5;
if (item.getCharge() < ArmorUtils.MIN_NIGHTVISION_CHARGE) {
nightVision = false;
player.displayClientMessage(Component.translatable("metaarmor.nms.nightvision.error"), true);
player.displayClientMessage(Component.translatable("metaarmor.qts.nightvision.error"), true);
} else {
player.displayClientMessage(Component
.translatable("metaarmor.nms.nightvision." + (nightVision ? "enabled" : "disabled")), true);
.translatable("metaarmor.qts.nightvision." + (nightVision ? "enabled" : "disabled")), true);
}
}

Expand Down Expand Up @@ -162,11 +162,11 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) {
boolean canUseEnergy = item.canUse(energyPerUse / 100);
boolean jumping = SyncedKeyMappings.VANILLA_JUMP.isKeyDown(player);
boolean boostedJump = data.contains("boostedJump") && data.getBoolean("boostedJump");
if (boostedJumpTimer == 0 && SyncedKeyMappings.BOOTS_ENABLE.isKeyDown(player)) {
if (toggleBootsTimer == 0 && SyncedKeyMappings.BOOTS_ENABLE.isKeyDown(player)) {
boostedJump = !boostedJump;
boostedJumpTimer = JUMPING_TIMER;
toggleBootsTimer = JUMPING_TIMER;
player.displayClientMessage(Component
.translatable("metaarmor.nms.boosted_jump." + (boostedJump ? "enabled" : "disabled")), true);
.translatable("metaarmor.qts.boosted_jump." + (boostedJump ? "enabled" : "disabled")), true);
}
if (boostedJump) {
if (!world.isClientSide) {
Expand Down Expand Up @@ -199,11 +199,19 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) {
}
}
}
data.putBoolean("boostedJump", boostedJump);

if (boostedJumpTimer > 0) boostedJumpTimer--;
boolean stepAssist = data.contains("stepAssist") && data.getBoolean("stepAssist");
if (toggleBootsTimer == 0 && SyncedKeyMappings.STEP_ASSIST_ENABLE.isKeyDown(player)) {
stepAssist = !stepAssist;
toggleBootsTimer = 5;
if (world.isClientSide()) player.displayClientMessage(Component
.translatable("metaarmor.qts.step_assist." + (stepAssist ? "enabled" : "disabled")), true);
data.putBoolean("stepAssist", stepAssist);
}

data.putInt("boostedJumpTimer", boostedJumpTimer);
data.putBoolean("boostedJump", boostedJump);
if (toggleBootsTimer > 0) toggleBootsTimer--;
data.putInt("toggleBootsTimer", toggleBootsTimer);
}

if (ret) {
Expand Down Expand Up @@ -357,7 +365,10 @@ public void addInfo(ItemStack itemStack, List<Component> lines) {
} else if (type == ArmorItem.Type.LEGGINGS) {
lines.add(Component.translatable("metaarmor.tooltip.speed"));
} else if (type == ArmorItem.Type.BOOTS) {
lines.add(Component.translatable("metaarmor.tooltip.stepassist"));
CompoundTag nbtData = itemStack.getOrCreateTag();
if (nbtData.getBoolean("stepAssist"))
lines.add(Component.translatable("metaarmor.message.step_assist.enabled"));
else lines.add(Component.translatable("metaarmor.message.step_assist.disabled"));
lines.add(Component.translatable("metaarmor.tooltip.falldamage"));
lines.add(Component.translatable("metaarmor.tooltip.jump"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,12 +305,16 @@ public static void init(RegistrateLangProvider provider) {
provider.add("metaitem.liquid_fuel_jetpack.tooltip", "Uses Combustion Generator Fuels for Thrust");
provider.add("metaarmor.nms.nightvision.enabled", "NanoMuscle™ Suite: NightVision Enabled");
provider.add("metaarmor.nms.nightvision.disabled", "NanoMuscle™ Suite: NightVision Disabled");
provider.add("metaarmor.nms.boosted_jump.enabled", "NanoMuscle™ Suite: Jump Boost Enabled");
provider.add("metaarmor.nms.boosted_jump.disabled", "NanoMuscle™ Suite: Jump Boost Disabled");
provider.add("metaarmor.nms.nightvision.error", "NanoMuscle™ Suite: §cNot enough power!");
provider.add("metaarmor.qts.nightvision.enabled", "QuarkTech™ Suite: NightVision Enabled");
provider.add("metaarmor.qts.nightvision.disabled", "QuarkTech™ Suite: NightVision Disabled");
provider.add("metaarmor.qts.nightvision.error", "QuarkTech™ Suite: §cNot enough power!");
provider.add("metaarmor.nms.step_assist.disabled", "NanoMuscle™ Suite: StepAssist Disabled");
provider.add("metaarmor.nms.step_assist.enabled", "NanoMuscle™ Suite: StepAssist Enabled");
provider.add("metaarmor.qts.step_assist.disabled", "QuarkTech™ Suite: StepAssist Disabled");
provider.add("metaarmor.qts.step_assist.enabled", "QuarkTech™ Suite: StepAssist Enabled");
provider.add("metaarmor.qts.boosted_jump.enabled", "QuarkTech™ Suite: Jump Boost Enabled");
provider.add("metaarmor.qts.boosted_jump.disabled", "QuarkTech™ Suite: Jump Boost Disabled");
provider.add("metaarmor.jetpack.flight.enable", "Jetpack: Flight Enabled");
provider.add("metaarmor.jetpack.flight.disable", "Jetpack: Flight Disabled");
provider.add("metaarmor.jetpack.hover.enable", "Jetpack: Hover Mode Enabled");
Expand Down Expand Up @@ -1204,6 +1208,7 @@ public static void init(RegistrateLangProvider provider) {
provider.add("gtceu.key.enable_boots", "Enable Boosted Jump");
provider.add("gtceu.key.armor_charging", "Armor Charging to Inventory Toggle");
provider.add("gtceu.key.tool_aoe_change", "Tool AoE Mode Switch");
provider.add("gtceu.key.enable_step_assist", "Enable StepAssist");
provider.add("gtceu.debug.f3_h.enabled",
"GregTech has modified the debug info! For Developers: enable the misc:debug config option in the GregTech config file to see more");
provider.add("config.jade.plugin_gtceu.controllable_provider", "[GTCEu] Controllable");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,9 @@ public static void playerTickEvent(TickEvent.PlayerTickEvent event) {
public static void stepAssistHandler(LivingEvent.LivingTickEvent event) {
float MAGIC_STEP_HEIGHT = 1.0023f;
if (event.getEntity() == null || !(event.getEntity() instanceof Player player)) return;
if (!player.isCrouching() && player.getItemBySlot(EquipmentSlot.FEET).is(CustomTags.STEP_BOOTS)) {
CompoundTag tag = player.getItemBySlot(EquipmentSlot.FEET).getOrCreateTag();
if (!player.isCrouching() && player.getItemBySlot(EquipmentSlot.FEET).is(CustomTags.STEP_BOOTS) &&
(!tag.contains("stepAssist") || tag.getBoolean("stepAssist"))) {
if (player.getStepHeight() < MAGIC_STEP_HEIGHT) {
player.setMaxUpStep(MAGIC_STEP_HEIGHT);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ public final class SyncedKeyMappings {
"gtceu.key.armor_charging", KeyConflictContext.IN_GAME, InputConstants.KEY_N);
public static final SyncedKeyMapping TOOL_AOE_CHANGE = SyncedKeyMapping.createConfigurable(
"gtceu.key.tool_aoe_change", KeyConflictContext.IN_GAME, InputConstants.KEY_V);
public static final SyncedKeyMapping STEP_ASSIST_ENABLE = SyncedKeyMapping.createConfigurable(
"gtceu.key.enable_step_assist", KeyConflictContext.IN_GAME,
InputConstants.KEY_APOSTROPHE);

public static void init() {
if (GTCEu.isClientSide()) {
Expand Down