Skip to content

Commit 1cca8cd

Browse files
committed
Merge branch '1.21.8' into 1.21.10
2 parents bf7edc3 + 7b8295a commit 1cca8cd

File tree

17 files changed

+81
-14
lines changed

17 files changed

+81
-14
lines changed

common/src/main/java/xaeroplus/mixin/client/MixinGuiMap.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,6 +1085,10 @@ public void onAction(final Screen screen) {
10851085
return name.startsWith("C: (") || name.startsWith("X: ");
10861086
});
10871087
}
1088+
1089+
if (Settings.REGISTRY.disableTeleportation.get()) {
1090+
options.removeIf(option -> ((AccessorRightClickOption) option).getName().equals("gui.xaero_wm_right_click_map_teleport_not_allowed"));
1091+
}
10881092
}
10891093

10901094
@Unique

common/src/main/java/xaeroplus/mixin/client/MixinMapWorld.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@
1010
import org.spongepowered.asm.mixin.Shadow;
1111
import org.spongepowered.asm.mixin.Unique;
1212
import org.spongepowered.asm.mixin.injection.At;
13+
import org.spongepowered.asm.mixin.injection.Inject;
14+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
1315
import xaero.map.world.MapDimension;
1416
import xaero.map.world.MapWorld;
17+
import xaeroplus.settings.Settings;
1518

1619
import java.lang.ref.WeakReference;
1720

@@ -45,4 +48,11 @@ public MapDimension getCurrentDimension() {
4548
if (ref != null) return ref;
4649
return this.getDimension(dimId);
4750
}
51+
52+
@Inject(method = "isTeleportAllowed", at = @At("HEAD"), cancellable = true)
53+
public void checkTeleportGloballyDisabled(final CallbackInfoReturnable<Boolean> cir) {
54+
if (Settings.REGISTRY.disableTeleportation.get()) {
55+
cir.setReturnValue(false);
56+
}
57+
}
4858
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package xaeroplus.mixin.client;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import org.spongepowered.asm.mixin.injection.At;
5+
import org.spongepowered.asm.mixin.injection.Inject;
6+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
7+
import xaero.hud.minimap.world.container.config.RootConfig;
8+
import xaeroplus.settings.Settings;
9+
10+
@Mixin(value = RootConfig.class, remap = false)
11+
public class MixinRootConfig {
12+
13+
@Inject(method = "isTeleportationEnabled", at = @At("HEAD"), cancellable = true)
14+
public void checkGloballyDisabledTeleportation(CallbackInfoReturnable<Boolean> cir) {
15+
if (Settings.REGISTRY.disableTeleportation.get()) {
16+
cir.setReturnValue(false);
17+
}
18+
}
19+
}

common/src/main/java/xaeroplus/mixin/client/MixinWaypointReader.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void onAction(Screen screen) {
6464
}
6565

6666
if (Settings.REGISTRY.disableWaypointSharing.get()) {
67-
cir.getReturnValue().removeIf(option -> ((AccessorRightClickOption) option).getName().equals("xaeroplus.gui.xaero_right_click_waypoint_share"));
67+
options.removeIf(option -> ((AccessorRightClickOption) option).getName().equals("gui.xaero_right_click_waypoint_share"));
6868
}
6969

7070
if (!Settings.REGISTRY.showCoordsInRightClickOptions.get()) {
@@ -73,5 +73,9 @@ public void onAction(Screen screen) {
7373
return name.startsWith("X: ");
7474
});
7575
}
76+
77+
if (Settings.REGISTRY.disableTeleportation.get()) {
78+
options.removeIf(option -> ((AccessorRightClickOption) option).getName().equals("gui.xaero_right_click_waypoint_teleport"));
79+
}
7680
}
7781
}

common/src/main/java/xaeroplus/settings/Settings.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,10 +296,17 @@ public String getTranslationKey() {
296296
public final DoubleSetting teleportFailNotifierDelay = register(
297297
DoubleSetting.create(
298298
"Teleport Fail Delay",
299-
"xaeroplus.setting.teleport_fail_delay",
299+
"xaeroplus.setting.teleport_fail_notifier_delay",
300300
1, 120, 1,
301-
30 // 1.5 seconds
301+
30, // 1.5 seconds
302+
() -> ModuleManager.getModule(TeleportFailNotifier.class).isEnabled()
302303
), SettingLocation.WORLD_MAP_MAIN);
304+
public final BooleanSetting disableTeleportation = register(
305+
BooleanSetting.create(
306+
"Disable Teleportation",
307+
"xaeroplus.setting.disable_teleportation",
308+
false),
309+
SettingLocation.WORLD_MAP_MAIN);
303310
public final BooleanSetting sodiumSettingIntegration = register(
304311
BooleanSetting.create(
305312
"Sodium/Embeddium Setting Integration",

common/src/main/resources/assets/xaeroplus/lang/en_us.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,5 +308,7 @@
308308
"xaeroplus.setting.teleport_fail_notifier.tooltip": "Sends a notification in chat when a xaero teleport is attempted and fails - most commonly due to lacking server permissions",
309309
"xaeroplus.setting.teleport_fail_notifier_delay": "Teleport Fail Wait Ticks",
310310
"xaeroplus.setting.teleport_fail_notifier_delay.tooltip": "Number of ticks to wait for an attempted xaero teleport to occur",
311-
"xaeroplus.gui.teleport_fail_notifier.message": "Looks like your teleport attempt failed :( \n Most likely you don't have permissions from the server to use /tp commands. \n Ask your server owner for help!"
311+
"xaeroplus.gui.teleport_fail_notifier.message": "Looks like your teleport attempt failed :( \n Most likely you don't have permissions from the server to use /tp commands. \n Ask your server owner for help!",
312+
"xaeroplus.setting.disable_teleportation": "Disable Teleportation",
313+
"xaeroplus.setting.disable_teleportation.tooltip": "Disables Teleportation buttons globally"
312314
}

common/src/main/resources/assets/xaeroplus/lang/es_ar.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,5 +308,7 @@
308308
"xaeroplus.setting.teleport_fail_notifier.tooltip": "Envía una notificación en el chat cuando un teletransporte de xaero falla, normalmente por falta de permisos del servidor",
309309
"xaeroplus.setting.teleport_fail_notifier_delay": "Tiempos de Espera del Fallo de Teletransporte",
310310
"xaeroplus.setting.teleport_fail_notifier_delay.tooltip": "Número de ticks a esperar para que ocurra un intento de teletransporte de xaero",
311-
"xaeroplus.gui.teleport_fail_notifier.message": "Parece que tu intento de teletransporte falló :( \n Probablemente no tengas permisos del servidor para usar los comandos /tp. \n ¡Pide ayuda al administrador del servidor!"
311+
"xaeroplus.gui.teleport_fail_notifier.message": "Parece que tu intento de teletransporte falló :( \n Probablemente no tengas permisos del servidor para usar los comandos /tp. \n ¡Pide ayuda al administrador del servidor!",
312+
"xaeroplus.setting.disable_teleportation": "Desactivar la teletransportación",
313+
"xaeroplus.setting.disable_teleportation.tooltip": "Desactiva los botones de teletransportación globalmente."
312314
}

common/src/main/resources/assets/xaeroplus/lang/fr_ca.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,5 +302,7 @@
302302
"xaeroplus.setting.teleport_fail_notifier.tooltip": "Envoie une notification dans le chat lorsqu'une téléportation xaero échoue, généralement à cause d'un manque d'autorisations sur le serveur",
303303
"xaeroplus.setting.teleport_fail_notifier_delay": "Ticks d'Attente d'Échec de Téléportation",
304304
"xaeroplus.setting.teleport_fail_notifier_delay.tooltip": "Nombre de ticks à attendre pour qu'une tentative de téléportation xaero se produise",
305-
"xaeroplus.gui.teleport_fail_notifier.message": "Il semble que votre tentative de téléportation ait échoué :( \n Vous n'avez probablement pas les permissions du serveur pour utiliser les commandes /tp. \n Demandez de l'aide à l'administrateur du serveur !"
305+
"xaeroplus.gui.teleport_fail_notifier.message": "Il semble que votre tentative de téléportation ait échoué :( \n Vous n'avez probablement pas les permissions du serveur pour utiliser les commandes /tp. \n Demandez de l'aide à l'administrateur du serveur !",
306+
"xaeroplus.setting.disable_teleportation": "Désactiver la téléportation",
307+
"xaeroplus.setting.disable_teleportation.tooltip": "Désactive les boutons de téléportation pour l'ensemble du système."
306308
}

common/src/main/resources/assets/xaeroplus/lang/fr_fr.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,5 +308,7 @@
308308
"xaeroplus.setting.teleport_fail_notifier.tooltip": "Envoie une notification dans le chat lorsqu'une téléportation xaero échoue, généralement à cause d'un manque d'autorisations sur le serveur",
309309
"xaeroplus.setting.teleport_fail_notifier_delay": "Ticks d'Attente d'Échec de Téléportation",
310310
"xaeroplus.setting.teleport_fail_notifier_delay.tooltip": "Nombre de ticks à attendre pour qu'une tentative de téléportation xaero se produise",
311-
"xaeroplus.gui.teleport_fail_notifier.message": "Il semble que votre tentative de téléportation ait échoué :( \n Vous n'avez probablement pas les permissions du serveur pour utiliser les commandes /tp. \n Demandez de l'aide à l'administrateur du serveur !"
311+
"xaeroplus.gui.teleport_fail_notifier.message": "Il semble que votre tentative de téléportation ait échoué :( \n Vous n'avez probablement pas les permissions du serveur pour utiliser les commandes /tp. \n Demandez de l'aide à l'administrateur du serveur !",
312+
"xaeroplus.setting.disable_teleportation": "Désactiver la téléportation",
313+
"xaeroplus.setting.disable_teleportation.tooltip": "Désactive les boutons de téléportation pour l'ensemble du système."
312314
}

common/src/main/resources/assets/xaeroplus/lang/ja_jp.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,5 +306,7 @@
306306
"xaeroplus.setting.teleport_fail_notifier.tooltip": "Xaeroのテレポートが失敗したときにチャットで通知します。主にサーバー権限が不足している場合に発生します",
307307
"xaeroplus.setting.teleport_fail_notifier_delay": "テレポート失敗待機ティック",
308308
"xaeroplus.setting.teleport_fail_notifier_delay.tooltip": "Xaeroのテレポート試行を待機するティック数",
309-
"xaeroplus.gui.teleport_fail_notifier.message": "テレポートが失敗したようです :( \n サーバーで /tp コマンドを使う権限がない可能性があります。 \n サーバー管理者に問い合わせてください!"
309+
"xaeroplus.gui.teleport_fail_notifier.message": "テレポートが失敗したようです :( \n サーバーで /tp コマンドを使う権限がない可能性があります。 \n サーバー管理者に問い合わせてください!",
310+
"xaeroplus.setting.disable_teleportation": "テレポートを無効にする",
311+
"xaeroplus.setting.disable_teleportation.tooltip": "テレポートボタンをグローバルに無効にします\n"
310312
}

0 commit comments

Comments
 (0)