Skip to content

Commit 6e567e0

Browse files
committed
chore: also freeze camera
1 parent 3975fe5 commit 6e567e0

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

scripts/commands/data/freeze.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const freezeCommand = new Command({
1818
if (!target) throw new CommandError(`プレイヤー ${targetName} が見つかりませんでした`);
1919
const freezeState = value ? toBoolean(value) : !handler.ac.frozenPlayerMap.has(target.id);
2020
target.inputPermissions.movementEnabled = !freezeState;
21+
target.inputPermissions.cameraEnabled = !freezeState;
2122
if (freezeState) handler.ac.frozenPlayerMap.set(target.id, target.location);
2223
else handler.ac.frozenPlayerMap.delete(target.id);
2324

scripts/form/AdminPanel.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { world, ItemStack, ItemTypes, EquipmentSlot, Player, ScoreboardObjective } from '@minecraft/server';
1+
import { world, ItemStack, ItemTypes, EquipmentSlot, Player, ScoreboardObjective, InputMode } from '@minecraft/server';
22
import * as UI from '@minecraft/server-ui';
33
import { Util } from '../util/util';
44
import config from '../config.js';
@@ -12,6 +12,13 @@ import { BanManager } from '../util/BanManager';
1212
import { Duration } from '../lib/duration/main';
1313
import { getTPS } from '../util/tps';
1414

15+
const inputModeMap = {
16+
[InputMode.KeyboardAndMouse]: 'KeyboardMouse',
17+
[InputMode.Gamepad]: 'Controller',
18+
[InputMode.Touch]: 'Touch',
19+
[InputMode.MotionController]: 'MotionController'
20+
}
21+
1522
/** @typedef {{ slot: import('@minecraft/server').ContainerSlot, slotId: EquipmentSlot | number }} ItemInformation */
1623

1724
/** @enum {'NameTag' | 'Lore'} */
@@ -90,7 +97,7 @@ export class AdminPanel {
9097
`§7ID: §f${target.id}`,
9198
`§7Location: §f${x}, ${y}, ${z} (${target.dimension.id.replace('minecraft:', '')})`,
9299
`§7GameMode: §f${target.getGameMode()}`,
93-
`§7Platform: §f${target.clientSystemInfo.platformType} - ${target.inputInfo.lastInputModeUsed}`,
100+
`§7Platform: §f${target.clientSystemInfo.platformType} (${inputModeMap[target.inputInfo.lastInputModeUsed]})`,
94101
`§7Health: §f${Math.floor(currentValue)} / ${effectiveMax}`,
95102
`§7Permission: §f${perm(target)}`,
96103
target.joinedAt ? `§7JoinedAt: §f${Util.getTime(target.joinedAt)}` : null,
@@ -299,6 +306,7 @@ export class AdminPanel {
299306

300307
if (freeze !== _freeze) {
301308
target.inputPermissions.movementEnabled = !freeze;
309+
target.inputPermissions.cameraEnabled = !freeze;
302310
if (freeze) this.ac.frozenPlayerMap.set(target.id, target.location);
303311
else this.ac.frozenPlayerMap.delete(target.id);
304312
Util.notify(`§7${this.player.name}§r§7 >> ${target.name} のフリーズを ${freeze} に設定しました`);

0 commit comments

Comments
 (0)