From 9a4e15da48a42812571c90a98c29623251c034c1 Mon Sep 17 00:00:00 2001 From: gnembon Date: Tue, 29 Jun 2021 17:28:58 -0300 Subject: [PATCH] mappings --- gradle.properties | 2 +- src/main/java/carpet/CarpetSettings.java | 2 +- .../java/carpet/commands/CounterCommand.java | 8 ++-- src/main/java/carpet/commands/LogCommand.java | 8 ++-- .../java/carpet/commands/PlayerCommand.java | 10 ++--- .../java/carpet/commands/SpawnCommand.java | 14 +++---- .../java/carpet/helpers/BlockRotator.java | 4 +- .../helpers/EntityPlayerActionPack.java | 4 +- src/main/java/carpet/helpers/TickSpeed.java | 2 +- .../MinecraftServer_tickspeedMixin.java | 33 +++++++-------- .../mixins/ReloadCommand_reloadAppsMixin.java | 2 +- .../SimpleEntityLookup_scarpetMixin.java | 28 +++++++++++++ ...hunkStorage_scarpetChunkCreationMixin.java | 16 +++---- .../java/carpet/script/CarpetScriptHost.java | 4 +- .../carpet/script/CarpetScriptServer.java | 6 +-- .../java/carpet/script/api/Auxiliary.java | 42 +++++++++---------- src/main/java/carpet/script/api/Entities.java | 14 +++---- .../java/carpet/script/api/Inventories.java | 6 +-- .../java/carpet/script/api/Scoreboards.java | 30 ++++++------- .../java/carpet/script/api/Threading.java | 6 +-- .../java/carpet/script/api/WorldAccess.java | 20 ++++----- .../script/command/CommandArgument.java | 10 ++--- .../carpet/script/utils/AppStoreManager.java | 4 +- .../script/utils/SnoopyCommandSource.java | 4 +- .../java/carpet/script/utils/SystemInfo.java | 38 ++++++++--------- .../script/value/NBTSerializableValue.java | 4 +- .../java/carpet/utils/CarpetProfiler.java | 2 +- src/main/java/carpet/utils/Messenger.java | 2 +- 28 files changed, 176 insertions(+), 149 deletions(-) create mode 100644 src/main/java/carpet/mixins/SimpleEntityLookup_scarpetMixin.java diff --git a/gradle.properties b/gradle.properties index 268e9ac1..9d76deec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.gradle.jvmargs=-Xmx1G # check these on https://fabricmc.net/use # or better: https://modmuss50.me/fabric.html minecraft_version=1.17.1-pre1 - yarn_mappings=1.17.1-pre1+build.9 + yarn_mappings=1.17.1-pre1+build.19 loader_version=0.11.6 fabric_version=0.36.0+1.17 diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index e54bc992..83559aa9 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -636,7 +636,7 @@ public class CarpetSettings Messenger.m(source, "r view distance has to be between 0 and 32"); return null; } - MinecraftServer server = source.getMinecraftServer(); + MinecraftServer server = source.getServer(); if (server.isDedicated()) { diff --git a/src/main/java/carpet/commands/CounterCommand.java b/src/main/java/carpet/commands/CounterCommand.java index 973bfa01..484a7b4d 100644 --- a/src/main/java/carpet/commands/CounterCommand.java +++ b/src/main/java/carpet/commands/CounterCommand.java @@ -56,7 +56,7 @@ public class CounterCommand HopperCounter counter = HopperCounter.getCounter(color); if (counter == null) throw new CommandException(Messenger.s("Unknown wool color: "+color)); - for (BaseText message: counter.format(source.getMinecraftServer(), realtime, false)) + for (BaseText message: counter.format(source.getServer(), realtime, false)) { source.sendFeedback(message, false); } @@ -72,14 +72,14 @@ public class CounterCommand { if (color == null) { - HopperCounter.resetAll(source.getMinecraftServer(), false); + HopperCounter.resetAll(source.getServer(), false); Messenger.m(source, "w Restarted all counters"); } else { HopperCounter counter = HopperCounter.getCounter(color); if (counter == null) throw new CommandException(Messenger.s("Unknown wool color")); - counter.reset(source.getMinecraftServer()); + counter.reset(source.getServer()); Messenger.m(source, "w Restarted "+color+" counter"); } return 1; @@ -92,7 +92,7 @@ public class CounterCommand */ private static int listAllCounters(ServerCommandSource source, boolean realtime) { - for (BaseText message: HopperCounter.formatAll(source.getMinecraftServer(), realtime)) + for (BaseText message: HopperCounter.formatAll(source.getServer(), realtime)) { source.sendFeedback(message, false); } diff --git a/src/main/java/carpet/commands/LogCommand.java b/src/main/java/carpet/commands/LogCommand.java index e347885b..d7400183 100644 --- a/src/main/java/carpet/commands/LogCommand.java +++ b/src/main/java/carpet/commands/LogCommand.java @@ -133,7 +133,7 @@ public class LogCommand } private static int unsubFromAll(ServerCommandSource source, String player_name) { - PlayerEntity player = source.getMinecraftServer().getPlayerManager().getPlayer(player_name); + PlayerEntity player = source.getServer().getPlayerManager().getPlayer(player_name); if (player == null) { Messenger.m(source, "r No player specified"); @@ -148,7 +148,7 @@ public class LogCommand } private static int unsubFromLogger(ServerCommandSource source, String player_name, String logname) { - PlayerEntity player = source.getMinecraftServer().getPlayerManager().getPlayer(player_name); + PlayerEntity player = source.getServer().getPlayerManager().getPlayer(player_name); if (player == null) { Messenger.m(source, "r No player specified"); @@ -166,7 +166,7 @@ public class LogCommand private static int toggleSubscription(ServerCommandSource source, String player_name, String logName) { - PlayerEntity player = source.getMinecraftServer().getPlayerManager().getPlayer(player_name); + PlayerEntity player = source.getServer().getPlayerManager().getPlayer(player_name); if (player == null) { Messenger.m(source, "r No player specified"); @@ -190,7 +190,7 @@ public class LogCommand } private static int subscribePlayer(ServerCommandSource source, String player_name, String logname, String option) { - PlayerEntity player = source.getMinecraftServer().getPlayerManager().getPlayer(player_name); + PlayerEntity player = source.getServer().getPlayerManager().getPlayer(player_name); if (player == null) { Messenger.m(source, "r No player specified"); diff --git a/src/main/java/carpet/commands/PlayerCommand.java b/src/main/java/carpet/commands/PlayerCommand.java index 6c4e8fd0..3e24e3c6 100644 --- a/src/main/java/carpet/commands/PlayerCommand.java +++ b/src/main/java/carpet/commands/PlayerCommand.java @@ -136,7 +136,7 @@ public class PlayerCommand private static ServerPlayerEntity getPlayer(CommandContext context) { String playerName = StringArgumentType.getString(context, "player"); - MinecraftServer server = context.getSource().getMinecraftServer(); + MinecraftServer server = context.getSource().getServer(); return server.getPlayerManager().getPlayer(playerName); } @@ -158,7 +158,7 @@ public class PlayerCommand return false; } - if (!context.getSource().getMinecraftServer().getPlayerManager().isOperator(sendingPlayer.getGameProfile())) + if (!context.getSource().getServer().getPlayerManager().isOperator(sendingPlayer.getGameProfile())) { if (sendingPlayer != player && !(player instanceof EntityPlayerMPFake)) { @@ -181,7 +181,7 @@ public class PlayerCommand private static boolean cantSpawn(CommandContext context) { String playerName = StringArgumentType.getString(context, "player"); - MinecraftServer server = context.getSource().getMinecraftServer(); + MinecraftServer server = context.getSource().getServer(); PlayerManager manager = server.getPlayerManager(); PlayerEntity player = manager.getPlayer(playerName); if (player != null) @@ -274,13 +274,13 @@ public class PlayerCommand } catch (CommandSyntaxException ignored) {} String playerName = StringArgumentType.getString(context, "player"); - if (playerName.length()>maxPlayerLength(source.getMinecraftServer())) + if (playerName.length()>maxPlayerLength(source.getServer())) { Messenger.m(context.getSource(), "rb Player name: "+playerName+" is too long"); return 0; } - MinecraftServer server = source.getMinecraftServer(); + MinecraftServer server = source.getServer(); if (!World.isValid(new BlockPos(pos.x, pos.y, pos.z))) { Messenger.m(context.getSource(), "rb Player "+playerName+" cannot be placed outside of the world"); diff --git a/src/main/java/carpet/commands/SpawnCommand.java b/src/main/java/carpet/commands/SpawnCommand.java index 5d1e075e..1f9010d4 100644 --- a/src/main/java/carpet/commands/SpawnCommand.java +++ b/src/main/java/carpet/commands/SpawnCommand.java @@ -146,8 +146,8 @@ public class SpawnCommand Math.max(a.getY(), b.getY()), Math.max(a.getZ(), b.getZ()) ); } - SpawnReporter.reset_spawn_stats(source.getMinecraftServer(), false); - SpawnReporter.track_spawns = (long) source.getMinecraftServer().getTicks(); + SpawnReporter.reset_spawn_stats(source.getServer(), false); + SpawnReporter.track_spawns = (long) source.getServer().getTicks(); SpawnReporter.lower_spawning_limit = lsl; SpawnReporter.upper_spawning_limit = usl; Messenger.m(source, "gi Spawning tracking started."); @@ -157,7 +157,7 @@ public class SpawnCommand private static int stopTracking(ServerCommandSource source) { Messenger.send(source, SpawnReporter.tracking_report(source.getWorld())); - SpawnReporter.reset_spawn_stats(source.getMinecraftServer(),false); + SpawnReporter.reset_spawn_stats(source.getServer(),false); SpawnReporter.track_spawns = 0L; SpawnReporter.lower_spawning_limit = null; SpawnReporter.upper_spawning_limit = null; @@ -175,19 +175,19 @@ public class SpawnCommand private static int runTest(ServerCommandSource source, int ticks, String counter) { //stop tracking - SpawnReporter.reset_spawn_stats(source.getMinecraftServer(),false); + SpawnReporter.reset_spawn_stats(source.getServer(),false); //start tracking - SpawnReporter.track_spawns = (long) source.getMinecraftServer().getTicks(); + SpawnReporter.track_spawns = (long) source.getServer().getTicks(); //counter reset if (counter == null) { - HopperCounter.resetAll(source.getMinecraftServer(), false); + HopperCounter.resetAll(source.getServer(), false); } else { HopperCounter hCounter = HopperCounter.getCounter(counter); if (hCounter != null) - hCounter.reset(source.getMinecraftServer()); + hCounter.reset(source.getServer()); } diff --git a/src/main/java/carpet/helpers/BlockRotator.java b/src/main/java/carpet/helpers/BlockRotator.java index 2d7f6b6a..f2ee22d7 100644 --- a/src/main/java/carpet/helpers/BlockRotator.java +++ b/src/main/java/carpet/helpers/BlockRotator.java @@ -226,7 +226,7 @@ public class BlockRotator { Direction sourceFace = source.getBlockState().get(DispenserBlock.FACING); World world = source.getWorld(); - BlockPos blockpos = source.getBlockPos().offset(sourceFace); // offset + BlockPos blockpos = source.getPos().offset(sourceFace); // offset BlockState iblockstate = world.getBlockState(blockpos); Block block = iblockstate.getBlock(); @@ -274,7 +274,7 @@ public class BlockRotator } } // Send block update to the block that just have been rotated. - world.updateNeighbor(blockpos, block, source.getBlockPos()); + world.updateNeighbor(blockpos, block, source.getPos()); return stack; } diff --git a/src/main/java/carpet/helpers/EntityPlayerActionPack.java b/src/main/java/carpet/helpers/EntityPlayerActionPack.java index 4c63e35e..e722abbd 100644 --- a/src/main/java/carpet/helpers/EntityPlayerActionPack.java +++ b/src/main/java/carpet/helpers/EntityPlayerActionPack.java @@ -487,7 +487,7 @@ public class EntityPlayerActionPack boolean execute(ServerPlayerEntity player, Action action) { player.updateLastActionTime(); - player.method_37413(false); // dropSelectedItem + player.dropSelectedItem(false); // dropSelectedItem return false; } }, @@ -497,7 +497,7 @@ public class EntityPlayerActionPack boolean execute(ServerPlayerEntity player, Action action) { player.updateLastActionTime(); - player.method_37413(true); // dropSelectedItem + player.dropSelectedItem(true); // dropSelectedItem return false; } }, diff --git a/src/main/java/carpet/helpers/TickSpeed.java b/src/main/java/carpet/helpers/TickSpeed.java index ffee2e27..0ee668be 100644 --- a/src/main/java/carpet/helpers/TickSpeed.java +++ b/src/main/java/carpet/helpers/TickSpeed.java @@ -147,7 +147,7 @@ public class TickSpeed time_warp_start_time = 0; if (tick_warp_callback != null) { - CommandManager icommandmanager = tick_warp_sender.getMinecraftServer().getCommandManager(); + CommandManager icommandmanager = tick_warp_sender.getServer().getCommandManager(); try { icommandmanager.execute(tick_warp_sender, tick_warp_callback); diff --git a/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java b/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java index 29acd733..6a94c2eb 100644 --- a/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java +++ b/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java @@ -46,24 +46,23 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec @Shadow private long nextTickTimestamp; - @Shadow protected abstract void method_16208(); - @Shadow private volatile boolean loading; - //@Shadow protected abstract void startMonitor(TickDurationMonitor monitor); - - @Shadow protected abstract void startMonitor(); - @Shadow private long lastTimeReference; @Shadow private boolean waitingForNextTick; @Shadow public abstract Iterable getWorlds(); - @Shadow protected abstract void endMonitor(); - - @Shadow private boolean profilerEnabled; @Shadow private int ticks; + + @Shadow protected abstract void runTasksTillTickEnd(); + + @Shadow protected abstract void startTickMetrics(); + + @Shadow protected abstract void endTickMetrics(); + + @Shadow private boolean needsDebugSetup; CarpetProfiler.ProfilerToken currentSection; private float carpetMsptAccum = 0.0f; @@ -125,15 +124,15 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec this.lastTimeReference = this.timeReference; } - if (this.profilerEnabled) { - this.profilerEnabled = false; + if (this.needsDebugSetup) { + this.needsDebugSetup = false; this.profilerTimings = Pair.of(Util.getMeasuringTimeNano(), ticks); //this.field_33978 = new MinecraftServer.class_6414(Util.getMeasuringTimeNano(), this.ticks); } this.timeReference += msThisTick;//50L; //TickDurationMonitor tickDurationMonitor = TickDurationMonitor.create("Server"); //this.startMonitor(tickDurationMonitor); - this.startMonitor(); + this.startTickMetrics(); this.profiler.push("tick"); this.tick(TickSpeed.time_warp_start_time != 0 ? ()->true : this::shouldKeepTicking); this.profiler.swap("nextTickWait"); @@ -144,9 +143,9 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec this.waitingForNextTick = true; this.nextTickTimestamp = Math.max(Util.getMeasuringTimeMs() + /*50L*/ msThisTick, this.timeReference); // run all tasks (this will not do a lot when warping), but that's fine since we already run them - this.method_16208(); + this.runTasksTillTickEnd(); this.profiler.pop(); - this.endMonitor(); + this.endTickMetrics(); this.loading = true; } @@ -158,7 +157,7 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec @Inject(method = "isDebugRunning", at = @At("HEAD"), cancellable = true) public void isCMDebugRunning(CallbackInfoReturnable cir) { - cir.setReturnValue(profilerEnabled || profilerTimings != null); + cir.setReturnValue(needsDebugSetup || profilerTimings != null); } @Inject(method = "stopDebug", at = @At("HEAD"), cancellable = true) public void stopCMDebug(CallbackInfoReturnable cir) @@ -232,12 +231,12 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec CarpetProfiler.end_current_section(currentSection); } - @Inject(method = "method_16208", at = @At("HEAD")) + @Inject(method = "runTasksTillTickEnd", at = @At("HEAD")) private void startAsync(CallbackInfo ci) { currentSection = CarpetProfiler.start_section(null, "Async Tasks", CarpetProfiler.TYPE.GENERAL); } - @Inject(method = "method_16208", at = @At( + @Inject(method = "runTasksTillTickEnd", at = @At( value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;runTasks(Ljava/util/function/BooleanSupplier;)V", shift = At.Shift.BEFORE diff --git a/src/main/java/carpet/mixins/ReloadCommand_reloadAppsMixin.java b/src/main/java/carpet/mixins/ReloadCommand_reloadAppsMixin.java index bf460603..ef5a8644 100644 --- a/src/main/java/carpet/mixins/ReloadCommand_reloadAppsMixin.java +++ b/src/main/java/carpet/mixins/ReloadCommand_reloadAppsMixin.java @@ -18,6 +18,6 @@ public class ReloadCommand_reloadAppsMixin { private static void onReload(CommandContext context, CallbackInfoReturnable cir) { // can't fetch here the reference to the server - CarpetServer.onReload(context.getSource().getMinecraftServer()); + CarpetServer.onReload(context.getSource().getServer()); } } diff --git a/src/main/java/carpet/mixins/SimpleEntityLookup_scarpetMixin.java b/src/main/java/carpet/mixins/SimpleEntityLookup_scarpetMixin.java new file mode 100644 index 00000000..eeb85747 --- /dev/null +++ b/src/main/java/carpet/mixins/SimpleEntityLookup_scarpetMixin.java @@ -0,0 +1,28 @@ +package carpet.mixins; + +import carpet.fakes.SimpleEntityLookupInterface; +import net.minecraft.util.math.ChunkPos; +import net.minecraft.world.entity.EntityLike; +import net.minecraft.world.entity.EntityTrackingSection; +import net.minecraft.world.entity.SectionedEntityCache; +import net.minecraft.world.entity.SimpleEntityLookup; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import java.util.List; +import java.util.stream.Collectors; + +@Mixin(SimpleEntityLookup.class) +public class SimpleEntityLookup_scarpetMixin implements SimpleEntityLookupInterface +{ + + @Shadow @Final private SectionedEntityCache cache; + + @Override + public List getChunkEntities(ChunkPos chpos) { + return this.cache.getTrackingSections(chpos.toLong()).flatMap(EntityTrackingSection::stream).collect(Collectors.toList()); + } +} + + diff --git a/src/main/java/carpet/mixins/ThreadedAnvilChunkStorage_scarpetChunkCreationMixin.java b/src/main/java/carpet/mixins/ThreadedAnvilChunkStorage_scarpetChunkCreationMixin.java index 526a7c41..3940b5ee 100644 --- a/src/main/java/carpet/mixins/ThreadedAnvilChunkStorage_scarpetChunkCreationMixin.java +++ b/src/main/java/carpet/mixins/ThreadedAnvilChunkStorage_scarpetChunkCreationMixin.java @@ -78,7 +78,7 @@ public abstract class ThreadedAnvilChunkStorage_scarpetChunkCreationMixin implem @Shadow @Final - private ServerLightingProvider serverLightingProvider; + private ServerLightingProvider lightingProvider; @Shadow @Final @@ -289,12 +289,12 @@ public abstract class ThreadedAnvilChunkStorage_scarpetChunkCreationMixin implem this.currentChunkHolders.get(pos.toLong()).getChunkAt(ChunkStatus.EMPTY, (ThreadedAnvilChunkStorage) (Object) this); final Chunk chunk = this.getCurrentChunk(pos); if (!(chunk.getStatus().isAtLeast(ChunkStatus.LIGHT.getPrevious()))) return; - ((ServerLightingProviderInterface) this.serverLightingProvider).removeLightData(chunk); + ((ServerLightingProviderInterface) this.lightingProvider).removeLightData(chunk); this.addRelightTicket(pos); final CompletableFuture lightFuture = this.getRegion (pos, 1, (pos_) -> ChunkStatus.LIGHT) .thenCompose( either -> either.map( - list -> ((ServerLightingProviderInterface) this.serverLightingProvider).relight(chunk), + list -> ((ServerLightingProviderInterface) this.lightingProvider).relight(chunk), unloaded -> { this.releaseRelightTicket(pos); return CompletableFuture.completedFuture(null); @@ -374,8 +374,8 @@ public abstract class ThreadedAnvilChunkStorage_scarpetChunkCreationMixin implem if (this.loadedChunks.remove(pos.toLong()) && chunk instanceof WorldChunk) this.world.unloadEntities((WorldChunk) chunk); // block entities only - ((ServerLightingProviderInterface) this.serverLightingProvider).invokeUpdateChunkStatus(pos); - ((ServerLightingProviderInterface) this.serverLightingProvider).removeLightData(chunk); + ((ServerLightingProviderInterface) this.lightingProvider).invokeUpdateChunkStatus(pos); + ((ServerLightingProviderInterface) this.lightingProvider).removeLightData(chunk); this.worldGenerationProgressListener.setChunkStatus(pos, null); } @@ -388,7 +388,7 @@ public abstract class ThreadedAnvilChunkStorage_scarpetChunkCreationMixin implem final long pos = cPos.toLong(); final ChunkHolder oldHolder = this.currentChunkHolders.remove(pos); - final ChunkHolder newHolder = new ChunkHolder(cPos, oldHolder.getLevel(), world, this.serverLightingProvider, this.chunkTaskPrioritySystem, (ChunkHolder.PlayersWatchingChunkProvider) this); + final ChunkHolder newHolder = new ChunkHolder(cPos, oldHolder.getLevel(), world, this.lightingProvider, this.chunkTaskPrioritySystem, (ChunkHolder.PlayersWatchingChunkProvider) this); ((ChunkHolderInterface) newHolder).setDefaultProtoChunk(cPos, this.mainThreadExecutor, world); this.currentChunkHolders.put(pos, newHolder); @@ -401,7 +401,7 @@ public abstract class ThreadedAnvilChunkStorage_scarpetChunkCreationMixin implem // Remove light for affected neighbors for (final Chunk chunk : affectedNeighbors) - ((ServerLightingProviderInterface) this.serverLightingProvider).removeLightData(chunk); + ((ServerLightingProviderInterface) this.lightingProvider).removeLightData(chunk); // Schedule relighting of neighbors @@ -418,7 +418,7 @@ public abstract class ThreadedAnvilChunkStorage_scarpetChunkCreationMixin implem lightFutures.add(this.getRegion (pos, 1, (pos_) -> ChunkStatus.LIGHT).thenCompose( either -> either.map( - list -> ((ServerLightingProviderInterface) this.serverLightingProvider).relight(chunk), + list -> ((ServerLightingProviderInterface) this.lightingProvider).relight(chunk), unloaded -> { this.releaseRelightTicket(pos); return CompletableFuture.completedFuture(null); diff --git a/src/main/java/carpet/script/CarpetScriptHost.java b/src/main/java/carpet/script/CarpetScriptHost.java index e7b5b8ca..2ef6515b 100644 --- a/src/main/java/carpet/script/CarpetScriptHost.java +++ b/src/main/java/carpet/script/CarpetScriptHost.java @@ -642,7 +642,7 @@ public class CarpetScriptHost extends ScriptHost { if (optionalTarget == null) { - for (ServerPlayerEntity player : source.getMinecraftServer().getPlayerManager().getPlayerList()) + for (ServerPlayerEntity player : source.getServer().getPlayerManager().getPlayerList()) { CarpetScriptHost host = (CarpetScriptHost) retrieveForExecution(player.getEntityName()); targets.add(host); @@ -651,7 +651,7 @@ public class CarpetScriptHost extends ScriptHost } else { - ServerPlayerEntity player = source.getMinecraftServer().getPlayerManager().getPlayer(optionalTarget); + ServerPlayerEntity player = source.getServer().getPlayerManager().getPlayer(optionalTarget); if (player != null) { CarpetScriptHost host = (CarpetScriptHost) retrieveForExecution(player.getEntityName()); diff --git a/src/main/java/carpet/script/CarpetScriptServer.java b/src/main/java/carpet/script/CarpetScriptServer.java index e76a61ba..f6000cb5 100644 --- a/src/main/java/carpet/script/CarpetScriptServer.java +++ b/src/main/java/carpet/script/CarpetScriptServer.java @@ -383,7 +383,7 @@ public class CarpetScriptServer ServerPlayerEntity target = null; if (optionalTarget != null) { - target = sender.getMinecraftServer().getPlayerManager().getPlayer(optionalTarget); + target = sender.getServer().getPlayerManager().getPlayer(optionalTarget); if (target == null) return false; } int successes = signal(sender, target, hostname, udf, argv, true ); @@ -436,8 +436,8 @@ public class CarpetScriptServer { // getPlayer will always return nonnull cause retrieve for execution only returns hosts for existing players. ServerCommandSource executingSource = host.perUser - ? source.getMinecraftServer().getPlayerManager().getPlayer(host.user).getCommandSource() - : source.getMinecraftServer().getCommandSource(); + ? source.getServer().getPlayerManager().getPlayer(host.user).getCommandSource() + : source.getServer().getCommandSource(); try { host.callUDF(BlockPos.ORIGIN, source.withLevel(CarpetSettings.runPermissionLevel), udf, argv); diff --git a/src/main/java/carpet/script/api/Auxiliary.java b/src/main/java/carpet/script/api/Auxiliary.java index 9a55f98e..55996022 100644 --- a/src/main/java/carpet/script/api/Auxiliary.java +++ b/src/main/java/carpet/script/api/Auxiliary.java @@ -198,7 +198,7 @@ public class Auxiliary { { CarpetContext cc = (CarpetContext)c; if (lv.size() == 0) return ListValue.wrap(Registry.PARTICLE_TYPE.getIds().stream().map(ValueConversions::of)); - MinecraftServer ms = cc.s.getMinecraftServer(); + MinecraftServer ms = cc.s.getServer(); ServerWorld world = cc.s.getWorld(); Vector3Argument locator = Vector3Argument.findIn(lv, 1); String particleName = lv.get(0).getString(); @@ -270,7 +270,7 @@ public class Auxiliary { } else { - player = cc.s.getMinecraftServer().getPlayerManager().getPlayer(playerValue.getString()); + player = cc.s.getServer().getPlayerManager().getPlayer(playerValue.getString()); } } } @@ -310,7 +310,7 @@ public class Auxiliary { } else { - player = cc.s.getMinecraftServer().getPlayerManager().getPlayer(playerValue.getString()); + player = cc.s.getServer().getPlayerManager().getPlayer(playerValue.getString()); } } } @@ -485,7 +485,7 @@ public class Auxiliary { { if (lv.size() == 0 || lv.size() > 2) throw new InternalExpressionException("'print' takes one or two arguments"); ServerCommandSource s = ((CarpetContext)c).s; - MinecraftServer server = s.getMinecraftServer(); + MinecraftServer server = s.getServer(); Value res = lv.get(0); List targets = null; if (lv.size() == 2) @@ -516,7 +516,7 @@ public class Auxiliary { if (lv.size() < 2) throw new InternalExpressionException("'display_title' needs at least a target, type and message, and optionally times"); Value pVal = lv.get(0); if (!(pVal instanceof ListValue)) pVal = ListValue.of(pVal); - MinecraftServer server = ((CarpetContext)c).s.getMinecraftServer(); + MinecraftServer server = ((CarpetContext)c).s.getServer(); Stream targets = ((ListValue) pVal).getItems().stream().map(v -> { ServerPlayerEntity player = EntityValue.getPlayerByValue(server, v); @@ -590,7 +590,7 @@ public class Auxiliary { map.put(target.getEntityName(), (BaseText) title); total.getAndIncrement(); }); - HUDController.update_hud(((CarpetContext)c).s.getMinecraftServer(), targetList); + HUDController.update_hud(((CarpetContext)c).s.getServer(), targetList); return NumericValue.of(total.get()); } TitleFadeS2CPacket timesPacket; // TimesPacket @@ -630,7 +630,7 @@ public class Auxiliary { { Text[] error = {null}; List output = new ArrayList<>(); - Value retval = new NumericValue(s.getMinecraftServer().getCommandManager().execute( + Value retval = new NumericValue(s.getServer().getCommandManager().execute( new SnoopyCommandSource(s, error, output), lv.get(0).getString()) ); @@ -649,15 +649,15 @@ public class Auxiliary { expression.addContextFunction("save", 0, (c, t, lv) -> { ServerCommandSource s = ((CarpetContext)c).s; - s.getMinecraftServer().getPlayerManager().saveAllPlayerData(); - s.getMinecraftServer().save(true,true,true); + s.getServer().getPlayerManager().saveAllPlayerData(); + s.getServer().save(true,true,true); s.getWorld().getChunkManager().tick(() -> true); CarpetScriptServer.LOG.warn("Saved chunks"); return Value.TRUE; }); expression.addContextFunction("tick_time", 0, (c, t, lv) -> - new NumericValue(((CarpetContext) c).s.getMinecraftServer().getTicks())); + new NumericValue(((CarpetContext) c).s.getServer().getTicks())); expression.addContextFunction("world_time", 0, (c, t, lv) -> new NumericValue(((CarpetContext) c).s.getWorld().getTime())); @@ -678,9 +678,9 @@ public class Auxiliary { { //assuming we are in the tick world section // might be off one tick when run in the off tasks or asynchronously. - int currentReportedTick = ((CarpetContext) c).s.getMinecraftServer().getTicks()-1; + int currentReportedTick = ((CarpetContext) c).s.getServer().getTicks()-1; List ticks = new ArrayList<>(100); - final long[] tickArray = ((CarpetContext) c).s.getMinecraftServer().lastTickLengths; + final long[] tickArray = ((CarpetContext) c).s.getServer().lastTickLengths; for (int i=currentReportedTick+100; i > currentReportedTick; i--) { ticks.add(new NumericValue(((double)tickArray[i % 100])/1000000.0)); @@ -692,12 +692,12 @@ public class Auxiliary { expression.addContextFunction("game_tick", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; ServerCommandSource s = cc.s; - if (!s.getMinecraftServer().isOnThread()) throw new InternalExpressionException("Unable to run ticks from threads"); + if (!s.getServer().isOnThread()) throw new InternalExpressionException("Unable to run ticks from threads"); if (CarpetServer.scriptServer.tickDepth > 16) throw new InternalExpressionException("'game_tick' function caused other 'game_tick' functions to run. You should not allow that."); try { CarpetServer.scriptServer.tickDepth ++; - ((MinecraftServerInterface) s.getMinecraftServer()).forceTick(() -> System.nanoTime() - CarpetServer.scriptServer.tickStart < 50000000L); + ((MinecraftServerInterface) s.getServer()).forceTick(() -> System.nanoTime() - CarpetServer.scriptServer.tickStart < 50000000L); if (lv.size() > 0) { long ms_total = NumericValue.asNumber(lv.get(0)).getLong(); @@ -747,13 +747,13 @@ public class Auxiliary { ValueConversions.of( ((CarpetContext)c).s.getWorld())); expression.addContextFunction("view_distance", 0, (c, t, lv) -> - new NumericValue(((CarpetContext)c).s.getMinecraftServer().getPlayerManager().getViewDistance())); + new NumericValue(((CarpetContext)c).s.getServer().getPlayerManager().getViewDistance())); // lazy due to passthrough and context changing ability expression.addLazyFunction("in_dimension", 2, (c, t, lv) -> { ServerCommandSource outerSource = ((CarpetContext)c).s; Value dimensionValue = lv.get(0).evalValue(c); - World world = ValueConversions.dimFromValue(dimensionValue, outerSource.getMinecraftServer()); + World world = ValueConversions.dimFromValue(dimensionValue, outerSource.getServer()); if (world == outerSource.getWorld()) return lv.get(1); ServerCommandSource innerSource = outerSource.withWorld((ServerWorld)world); Context newCtx = c.recreate(); @@ -791,7 +791,7 @@ public class Auxiliary { throw new InternalExpressionException("'plop' needs extra argument indicating what to plop"); String what = lv.get(locator.offset).getString(); Value [] result = new Value[]{Value.NULL}; - ((CarpetContext)c).s.getMinecraftServer().submitAndJoin( () -> + ((CarpetContext)c).s.getServer().submitAndJoin( () -> { Boolean res = FeatureGenerator.plop(what, ((CarpetContext) c).s.getWorld(), locator.block.getPos()); @@ -969,7 +969,7 @@ public class Auxiliary { expression.addContextFunction("statistic", 3, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - ServerPlayerEntity player = EntityValue.getPlayerByValue(cc.s.getMinecraftServer(), lv.get(0)); + ServerPlayerEntity player = EntityValue.getPlayerByValue(cc.s.getServer(), lv.get(0)); if (player == null) return Value.NULL; Identifier category; Identifier statName; @@ -1030,7 +1030,7 @@ public class Auxiliary { expression.addContextFunction("nbt_storage", -1, (c, t, lv) -> { if (lv.size() > 2) throw new InternalExpressionException("'nbt_storage' requires 0, 1 or 2 arguments."); CarpetContext cc = (CarpetContext) c; - DataCommandStorage storage = cc.s.getMinecraftServer().getDataCommandStorage(); + DataCommandStorage storage = cc.s.getServer().getDataCommandStorage(); if (lv.size() == 0) return ListValue.wrap(storage.getIds().map(i -> new StringValue(nameFromRegistryId(i))).collect(Collectors.toList())); String key = lv.get(0).getString(); @@ -1049,7 +1049,7 @@ public class Auxiliary { CarpetContext cc = (CarpetContext)c; String origName = lv.get(0).getString(); String name = InputValidator.validateSimpleString(origName, true); - MinecraftServer server = cc.s.getMinecraftServer(); + MinecraftServer server = cc.s.getServer(); for (String dpName : server.getDataPackManager().getNames()) { if (dpName.equalsIgnoreCase("file/"+name+".zip") || @@ -1114,7 +1114,7 @@ public class Auxiliary { expression.addContextFunction("enable_hidden_dimensions", 0, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; // from minecraft.server.Main.main - MinecraftServer server = cc.s.getMinecraftServer(); + MinecraftServer server = cc.s.getServer(); LevelStorage.Session session = ((MinecraftServerInterface)server).getCMSession(); DataPackSettings dataPackSettings = session.getDataPackSettings(); ResourcePackManager resourcePackManager = server.getDataPackManager(); diff --git a/src/main/java/carpet/script/api/Entities.java b/src/main/java/carpet/script/api/Entities.java index 091e3f1f..db68f7be 100644 --- a/src/main/java/carpet/script/api/Entities.java +++ b/src/main/java/carpet/script/api/Entities.java @@ -48,7 +48,7 @@ public class Entities { CarpetContext cc = (CarpetContext)c; if (cc.host.user != null) { - ServerPlayerEntity player = cc.s.getMinecraftServer().getPlayerManager().getPlayer(cc.host.user); + ServerPlayerEntity player = cc.s.getServer().getPlayerManager().getPlayer(cc.host.user); return EntityValue.of(player); } Entity callingEntity = cc.s.getEntity(); @@ -62,7 +62,7 @@ public class Entities { if ("all".equalsIgnoreCase(playerName)) { retval = ListValue.wrap( - ((CarpetContext)c).s.getMinecraftServer().getPlayerManager().getPlayerList(). + ((CarpetContext)c).s.getServer().getPlayerManager().getPlayerList(). stream().map(EntityValue::new).collect(Collectors.toList())); } else if ("*".equalsIgnoreCase(playerName)) @@ -97,7 +97,7 @@ public class Entities { } else { - ServerPlayerEntity player = ((CarpetContext) c).s.getMinecraftServer().getPlayerManager().getPlayer(playerName); + ServerPlayerEntity player = ((CarpetContext) c).s.getServer().getPlayerManager().getPlayer(playerName); if (player != null) retval = new EntityValue(player); } @@ -167,7 +167,7 @@ public class Entities { { String who = lv.get(0).getString(); ServerCommandSource source = ((CarpetContext)c).s; - EntityValue.EntityClassDescriptor eDesc = EntityValue.getEntityDescriptor(who, source.getMinecraftServer()); + EntityValue.EntityClassDescriptor eDesc = EntityValue.getEntityDescriptor(who, source.getServer()); List entityList = source.getWorld().getEntitiesByType(eDesc.directType, eDesc.filteringPredicate); return ListValue.wrap(entityList.stream().map(EntityValue::new).collect(Collectors.toList())); }); @@ -195,7 +195,7 @@ public class Entities { throw new InternalExpressionException("Range of 'entity_area' cannot come from a block argument"); Vec3d range = rangeLocator.vec; Box area = centerBox.expand(range.x, range.y, range.z); - EntityValue.EntityClassDescriptor eDesc = EntityValue.getEntityDescriptor(who, cc.s.getMinecraftServer()); + EntityValue.EntityClassDescriptor eDesc = EntityValue.getEntityDescriptor(who, cc.s.getServer()); List entityList = cc.s.getWorld().getEntitiesByType(eDesc.directType, area,eDesc.filteringPredicate); return ListValue.wrap(entityList.stream().map(EntityValue::new).collect(Collectors.toList())); }); @@ -257,7 +257,7 @@ public class Entities { { if (lv.size() > 1) throw new InternalExpressionException("'entity_types' requires one or no arguments"); String desc = (lv.size() == 1)?lv.get(0).getString():"*"; - return EntityValue.getEntityDescriptor(desc, ((CarpetContext) c).s.getMinecraftServer()).listValue; + return EntityValue.getEntityDescriptor(desc, ((CarpetContext) c).s.getServer()).listValue; }); expression.addContextFunction("entity_load_handler", -1, (c, t, lv) -> @@ -269,7 +269,7 @@ public class Entities { ? ((ListValue) entityValue).getItems().stream().map(Value::getString).collect(Collectors.toList()) : Collections.singletonList(entityValue.getString()); Set> types = new HashSet<>(); - descriptors.forEach(s -> types.addAll(EntityValue.getEntityDescriptor(s, ((CarpetContext) c).s.getMinecraftServer()).typeList)); + descriptors.forEach(s -> types.addAll(EntityValue.getEntityDescriptor(s, ((CarpetContext) c).s.getServer()).typeList)); FunctionArgument funArg = FunctionArgument.findIn(c, expression.module, lv, 1, true, false); CarpetEventServer events = ((CarpetScriptHost)c.host).getScriptServer().events; if (funArg.function == null) diff --git a/src/main/java/carpet/script/api/Inventories.java b/src/main/java/carpet/script/api/Inventories.java index 70d4dfac..638ad17e 100644 --- a/src/main/java/carpet/script/api/Inventories.java +++ b/src/main/java/carpet/script/api/Inventories.java @@ -65,7 +65,7 @@ public class Inventories { if (lv.size() == 0) return ListValue.wrap(Registry.ITEM.getIds().stream().map(ValueConversions::of).collect(Collectors.toList())); CarpetContext cc = (CarpetContext)c; - TagManager tagManager = cc.s.getMinecraftServer().getTagManager(); + TagManager tagManager = cc.s.getServer().getTagManager(); String tag = lv.get(0).getString(); net.minecraft.tag.Tag itemTag = tagManager.getOrCreateTagGroup(Registry.ITEM_KEY).getTag(new Identifier(tag)); if (itemTag == null) return Value.NULL; @@ -75,7 +75,7 @@ public class Inventories { expression.addContextFunction("item_tags", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - TagManager tagManager = cc.s.getMinecraftServer().getTagManager(); + TagManager tagManager = cc.s.getServer().getTagManager(); if (lv.size() == 0) return ListValue.wrap(tagManager.getOrCreateTagGroup(Registry.ITEM_KEY).getTagIds().stream().map(ValueConversions::of).collect(Collectors.toList())); Item item = NBTSerializableValue.parseItem(lv.get(0).getString()).getItem(); @@ -106,7 +106,7 @@ public class Inventories { } } List> recipes; - recipes = ((RecipeManagerInterface) cc.s.getMinecraftServer().getRecipeManager()).getAllMatching(type, new Identifier(recipeName)); + recipes = ((RecipeManagerInterface) cc.s.getServer().getRecipeManager()).getAllMatching(type, new Identifier(recipeName)); if (recipes.isEmpty()) return Value.NULL; List recipesOutput = new ArrayList<>(); diff --git a/src/main/java/carpet/script/api/Scoreboards.java b/src/main/java/carpet/script/api/Scoreboards.java index ea21a957..8b52627e 100644 --- a/src/main/java/carpet/script/api/Scoreboards.java +++ b/src/main/java/carpet/script/api/Scoreboards.java @@ -69,7 +69,7 @@ public class Scoreboards { expression.addContextFunction("scoreboard", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - Scoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + Scoreboard scoreboard = cc.s.getServer().getScoreboard(); if (lv.size()==0) return ListValue.wrap(scoreboard.getObjectiveNames().stream().map(StringValue::new).collect(Collectors.toList())); String objectiveName = lv.get(0).getString(); @@ -102,7 +102,7 @@ public class Scoreboards { { if (lv.size()==0) throw new InternalExpressionException("'scoreboard_remove' requires at least one parameter"); CarpetContext cc = (CarpetContext)c; - Scoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + Scoreboard scoreboard = cc.s.getServer().getScoreboard(); String objectiveName = lv.get(0).getString(); ScoreboardObjective objective = scoreboard.getObjective(objectiveName); if (objective == null) return Value.FALSE; @@ -125,7 +125,7 @@ public class Scoreboards { expression.addContextFunction("scoreboard_add", -1, (c, t, lv)-> { CarpetContext cc = (CarpetContext)c; - Scoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + Scoreboard scoreboard = cc.s.getServer().getScoreboard(); if (lv.size() == 0 || lv.size()>2) throw new InternalExpressionException("'scoreboard_add' should have one or two parameters"); String objectiveName = lv.get(0).getString(); ScoreboardCriterion criterion; @@ -163,7 +163,7 @@ public class Scoreboards { { if(lv.size() < 2) throw new InternalExpressionException("'scoreboard_property' requires at least two parameters"); CarpetContext cc = (CarpetContext)c; - Scoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + Scoreboard scoreboard = cc.s.getServer().getScoreboard(); ScoreboardObjective objective = scoreboard.getObjective(lv.get(0).getString()); if(objective == null) return Value.NULL; @@ -228,7 +228,7 @@ public class Scoreboards { expression.addContextFunction("scoreboard_display", 2, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - Scoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + Scoreboard scoreboard = cc.s.getServer().getScoreboard(); String location = lv.get(0).getString(); int slot = Scoreboard.getDisplaySlotId(location); if (slot < 0) throw new InternalExpressionException("Invalid objective slot: "+location); @@ -249,7 +249,7 @@ public class Scoreboards { { if(lv.size() > 1) throw new InternalExpressionException("'team_list' requires zero or one parameters"); CarpetContext cc = (CarpetContext)c; - ServerScoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + ServerScoreboard scoreboard = cc.s.getServer().getScoreboard(); if(lv.size() == 0) return ListValue.wrap(scoreboard.getTeamNames().stream().map(StringValue::of).collect(Collectors.toList())); if (lv.size() != 1) return Value.NULL; @@ -264,7 +264,7 @@ public class Scoreboards { if(!(lv.size() < 3 && lv.size() > 0)) throw new InternalExpressionException("'team_add' requires one or two parameters"); CarpetContext cc = (CarpetContext)c; - ServerScoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + ServerScoreboard scoreboard = cc.s.getServer().getScoreboard(); String teamName = lv.get(0).getString(); if(lv.size() == 1) @@ -287,7 +287,7 @@ public class Scoreboards { expression.addContextFunction("team_remove", 1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - ServerScoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + ServerScoreboard scoreboard = cc.s.getServer().getScoreboard(); Value teamVal = lv.get(0); String team = teamVal.getString(); if(scoreboard.getTeam(team) == null) return Value.NULL; @@ -299,7 +299,7 @@ public class Scoreboards { expression.addContextFunction("team_leave", 1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - ServerScoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + ServerScoreboard scoreboard = cc.s.getServer().getScoreboard(); Value playerVal = lv.get(0); String player = EntityValue.getPlayerNameByValue(playerVal); if(player == null) return Value.NULL; @@ -309,7 +309,7 @@ public class Scoreboards { expression.addContextFunction("team_property", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - ServerScoreboard scoreboard = cc.s.getMinecraftServer().getScoreboard(); + ServerScoreboard scoreboard = cc.s.getServer().getScoreboard(); if(lv.size() < 2 || lv.size() > 3) throw new InternalExpressionException("'team_property' requires two or three arguments"); @@ -400,7 +400,7 @@ public class Scoreboards { expression.addContextFunction("bossbar", -1, (c, t, lv) -> { - BossBarManager bossBarManager = ((CarpetContext)c).s.getMinecraftServer().getBossBarManager(); + BossBarManager bossBarManager = ((CarpetContext)c).s.getServer().getBossBarManager(); if(lv.size() > 3) throw new InternalExpressionException("'bossbar' accepts max three arguments"); if(lv.size() == 0) return ListValue.wrap(bossBarManager.getAll().stream().map(CommandBossBar::getId).map(Identifier::toString).map(StringValue::of).collect(Collectors.toList())); @@ -457,13 +457,13 @@ public class Scoreboards { if(propertyValue instanceof ListValue) { ((ListValue) propertyValue).getItems().forEach((v)->{ - ServerPlayerEntity player = EntityValue.getPlayerByValue(((CarpetContext)c).s.getMinecraftServer(),propertyValue); + ServerPlayerEntity player = EntityValue.getPlayerByValue(((CarpetContext)c).s.getServer(),propertyValue); if(player != null) bossBar.addPlayer(player); }); return Value.TRUE; } - ServerPlayerEntity player = EntityValue.getPlayerByValue(((CarpetContext) c).s.getMinecraftServer(), propertyValue); + ServerPlayerEntity player = EntityValue.getPlayerByValue(((CarpetContext) c).s.getServer(), propertyValue); if(player != null) { bossBar.addPlayer(player); return Value.TRUE; @@ -475,14 +475,14 @@ public class Scoreboards { { bossBar.clearPlayers(); ((ListValue) propertyValue).getItems().forEach((v) -> { - ServerPlayerEntity p = EntityValue.getPlayerByValue(((CarpetContext) c).s.getMinecraftServer(), v); + ServerPlayerEntity p = EntityValue.getPlayerByValue(((CarpetContext) c).s.getServer(), v); if (p != null) bossBar.addPlayer(p); }); return Value.TRUE; } - ServerPlayerEntity p = EntityValue.getPlayerByValue(((CarpetContext) c).s.getMinecraftServer(), propertyValue); + ServerPlayerEntity p = EntityValue.getPlayerByValue(((CarpetContext) c).s.getServer(), propertyValue); bossBar.clearPlayers(); if (p != null) { bossBar.addPlayer(p); diff --git a/src/main/java/carpet/script/api/Threading.java b/src/main/java/carpet/script/api/Threading.java index baff04ab..257f4084 100644 --- a/src/main/java/carpet/script/api/Threading.java +++ b/src/main/java/carpet/script/api/Threading.java @@ -16,7 +16,7 @@ public class Threading { //"overidden" native call to cancel if on main thread expression.addContextFunction("task_join", 1, (c, t, lv) -> { - if (((CarpetContext)c).s.getMinecraftServer().isOnThread()) + if (((CarpetContext)c).s.getServer().isOnThread()) throw new InternalExpressionException("'task_join' cannot be called from main thread to avoid deadlocks"); Value v = lv.get(0); if (!(v instanceof ThreadValue)) @@ -27,13 +27,13 @@ public class Threading // has to be lazy due to deferred execution of the expression expression.addLazyFunctionWithDelegation("task_dock", 1, false,true, (c, t, expr, tok, lv) -> { CarpetContext cc = (CarpetContext)c; - MinecraftServer server = cc.s.getMinecraftServer(); + MinecraftServer server = cc.s.getServer(); if (server.isOnThread()) return lv.get(0); // pass through for on thread tasks Value[] result = new Value[]{Value.NULL}; RuntimeException[] internal = new RuntimeException[]{null}; try { - ((CarpetContext) c).s.getMinecraftServer().submitAndJoin(() -> + ((CarpetContext) c).s.getServer().submitAndJoin(() -> { try { diff --git a/src/main/java/carpet/script/api/WorldAccess.java b/src/main/java/carpet/script/api/WorldAccess.java index 4d199af3..17764cde 100644 --- a/src/main/java/carpet/script/api/WorldAccess.java +++ b/src/main/java/carpet/script/api/WorldAccess.java @@ -692,7 +692,7 @@ public class WorldAccess { boolean previous = CarpetSettings.impendingFillSkipUpdates.get(); if (previous) return lv.get(0); Value [] result = new Value[]{Value.NULL}; - ((CarpetContext)c).s.getMinecraftServer().submitAndJoin( () -> + ((CarpetContext)c).s.getServer().submitAndJoin( () -> { try { @@ -781,7 +781,7 @@ public class WorldAccess { BlockState finalSourceBlockState = sourceBlockState; BlockPos targetPos = targetLocator.block.getPos(); Boolean[] result = new Boolean[]{true}; - cc.s.getMinecraftServer().submitAndJoin( () -> + cc.s.getServer().submitAndJoin( () -> { Clearable.clear(world.getBlockEntity(targetPos)); boolean success = world.setBlockState(targetPos, finalSourceBlockState, 2); @@ -1135,7 +1135,7 @@ public class WorldAccess { if (lv.size() == 0) return ListValue.wrap(Registry.BLOCK.getIds().stream().map(ValueConversions::of).collect(Collectors.toList())); CarpetContext cc = (CarpetContext)c; - TagManager tagManager = cc.s.getMinecraftServer().getTagManager(); + TagManager tagManager = cc.s.getServer().getTagManager(); String tag = lv.get(0).getString(); net.minecraft.tag.Tag blockTag = tagManager.getOrCreateTagGroup(Registry.BLOCK_KEY).getTag(new Identifier(tag)); if (blockTag == null) return Value.NULL; @@ -1145,7 +1145,7 @@ public class WorldAccess { expression.addContextFunction("block_tags", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext)c; - TagManager tagManager = cc.s.getMinecraftServer().getTagManager(); + TagManager tagManager = cc.s.getServer().getTagManager(); if (lv.size() == 0) return ListValue.wrap(tagManager.getOrCreateTagGroup(Registry.BLOCK_KEY).getTagIds().stream().map(ValueConversions::of).collect(Collectors.toList())); BlockArgument blockLocator = BlockArgument.findIn(cc, lv, 0, true); @@ -1182,7 +1182,7 @@ public class WorldAccess { // in locatebiome if (locator.offset == lv.size()) { - Identifier biomeId = cc.s.getMinecraftServer().getRegistryManager().get(Registry.BIOME_KEY).getId(biome); + Identifier biomeId = cc.s.getServer().getRegistryManager().get(Registry.BIOME_KEY).getId(biome); return new StringValue(NBTSerializableValue.nameFromRegistryId(biomeId)); } String biomeFeature = lv.get(locator.offset).getString(); @@ -1199,7 +1199,7 @@ public class WorldAccess { throw new InternalExpressionException("'set_biome' needs a biome name as an argument"); String biomeName = lv.get(locator.offset+0).getString(); // from locatebiome command code - Biome biome = cc.s.getMinecraftServer().getRegistryManager().get(Registry.BIOME_KEY).getOrEmpty(new Identifier(biomeName)) + Biome biome = cc.s.getServer().getRegistryManager().get(Registry.BIOME_KEY).getOrEmpty(new Identifier(biomeName)) .orElseThrow(() -> new ThrowStatement(biomeName, Throwables.UNKNOWN_BIOME)); boolean doImmediateUpdate = true; if (lv.size() > locator.offset+1) @@ -1218,7 +1218,7 @@ public class WorldAccess { CarpetContext cc = (CarpetContext)c; BlockPos pos = BlockArgument.findIn(cc, lv, 0).block.getPos(); ServerWorld world = cc.s.getWorld(); - cc.s.getMinecraftServer().submitAndJoin( () -> WorldTools.forceChunkUpdate(pos, world)); + cc.s.getServer().submitAndJoin( () -> WorldTools.forceChunkUpdate(pos, world)); return Value.TRUE; }); @@ -1345,7 +1345,7 @@ public class WorldAccess { // good 'ol pointer Value[] result = new Value[]{Value.NULL}; // technically a world modification. Even if we could let it slide, we will still park it - ((CarpetContext) c).s.getMinecraftServer().submitAndJoin(() -> + ((CarpetContext) c).s.getServer().submitAndJoin(() -> { Map, StructureStart> structures = world.getChunk(pos).getStructureStarts(); if (lv.size() == locator.offset + 1) @@ -1407,7 +1407,7 @@ public class WorldAccess { } } - boolean success = WorldTools.createWorld(cc.s.getMinecraftServer(), worldKey, seed); + boolean success = WorldTools.createWorld(cc.s.getServer(), worldKey, seed); if (!success) return Value.FALSE; CarpetServer.settingsManager.notifyPlayersCommandsChanged(); return Value.TRUE; @@ -1466,7 +1466,7 @@ public class WorldAccess { Value [] result = new Value[]{Value.NULL}; - ((CarpetContext)c).s.getMinecraftServer().submitAndJoin( () -> + ((CarpetContext)c).s.getServer().submitAndJoin( () -> { Map report = ((ThreadedAnvilChunkStorageInterface) world.getChunkManager().threadedAnvilChunkStorage).regenerateChunkRegion(requestedChunks); /*for (ChunkPos chpos: requestedChunks) // needed in 1.16 only diff --git a/src/main/java/carpet/script/command/CommandArgument.java b/src/main/java/carpet/script/command/CommandArgument.java index b44671d2..92cc3392 100644 --- a/src/main/java/carpet/script/command/CommandArgument.java +++ b/src/main/java/carpet/script/command/CommandArgument.java @@ -132,7 +132,7 @@ public abstract class CommandArgument false ), new VanillaUnconfigurableArgument( "blockpredicate", BlockPredicateArgumentType::blockPredicate, - (c, p) -> ValueConversions.ofBlockPredicate(c.getSource().getMinecraftServer().getTagManager(), BlockPredicateArgumentType.getBlockPredicate(c, p)), false + (c, p) -> ValueConversions.ofBlockPredicate(c.getSource().getServer().getTagManager(), BlockPredicateArgumentType.getBlockPredicate(c, p)), false ), new VanillaUnconfigurableArgument("teamcolor", ColorArgumentType::color, (c, p) -> { @@ -199,13 +199,13 @@ public abstract class CommandArgument (c, p) -> ValueConversions.of( IdentifierArgumentType.getRecipeArgument(c, p).getId()), SuggestionProviders.ALL_RECIPES ), new VanillaUnconfigurableArgument("advancement", IdentifierArgumentType::identifier, - (c, p) -> ValueConversions.of( IdentifierArgumentType.getAdvancementArgument(c, p).getId()), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getMinecraftServer().getAdvancementLoader().getAdvancements().stream().map(Advancement::getId), builder) + (c, p) -> ValueConversions.of( IdentifierArgumentType.getAdvancementArgument(c, p).getId()), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getServer().getAdvancementLoader().getAdvancements().stream().map(Advancement::getId), builder) ), new VanillaUnconfigurableArgument("lootcondition", IdentifierArgumentType::identifier, - (c, p) -> ValueConversions.of( Registry.LOOT_CONDITION_TYPE.getId(IdentifierArgumentType.getPredicateArgument(c, p).getType())), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getMinecraftServer().getPredicateManager().getIds(), builder) + (c, p) -> ValueConversions.of( Registry.LOOT_CONDITION_TYPE.getId(IdentifierArgumentType.getPredicateArgument(c, p).getType())), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getServer().getPredicateManager().getIds(), builder) ), new VanillaUnconfigurableArgument("loottable", IdentifierArgumentType::identifier, - (c, p) -> ValueConversions.of( IdentifierArgumentType.getIdentifier(c, p)), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getMinecraftServer().getLootManager().getTableIds(), builder) + (c, p) -> ValueConversions.of( IdentifierArgumentType.getIdentifier(c, p)), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getServer().getLootManager().getTableIds(), builder) ), new VanillaUnconfigurableArgument("attribute", IdentifierArgumentType::identifier, (c, p) -> ValueConversions.of( Registry.ATTRIBUTE.getId(IdentifierArgumentType.getAttributeArgument(c, p))), (ctx, builder) -> CommandSource.suggestIdentifiers(Registry.ATTRIBUTE.getIds(), builder) @@ -220,7 +220,7 @@ public abstract class CommandArgument (c, p) -> ValueConversions.of( IdentifierArgumentType.getIdentifier(c, p)), SuggestionProviders.AVAILABLE_SOUNDS ), new VanillaUnconfigurableArgument("storekey", IdentifierArgumentType::identifier, - (c, p) -> ValueConversions.of( IdentifierArgumentType.getIdentifier(c, p)), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getMinecraftServer().getDataCommandStorage().getIds(), builder) + (c, p) -> ValueConversions.of( IdentifierArgumentType.getIdentifier(c, p)), (ctx, builder) -> CommandSource.suggestIdentifiers(ctx.getSource().getServer().getDataCommandStorage().getIds(), builder) ), // default diff --git a/src/main/java/carpet/script/utils/AppStoreManager.java b/src/main/java/carpet/script/utils/AppStoreManager.java index e418d0a3..27b89386 100644 --- a/src/main/java/carpet/script/utils/AppStoreManager.java +++ b/src/main/java/carpet/script/utils/AppStoreManager.java @@ -283,14 +283,14 @@ public class AppStoreManager public static boolean saveScriptToFile(ServerCommandSource source, String path, String appFileName, String code, boolean globalSavePath){ String scriptPath; String location; - if(globalSavePath && !source.getMinecraftServer().isDedicated()) + if(globalSavePath && !source.getServer().isDedicated()) { //cos config folder only is in clients scriptPath = FabricLoader.getInstance().getConfigDir().resolve("carpet/scripts/appstore").toAbsolutePath()+"/"+path; location = "global script config folder"; } else { - scriptPath = source.getMinecraftServer().getSavePath(WorldSavePath.ROOT).resolve("scripts").toAbsolutePath()+"/"+appFileName; + scriptPath = source.getServer().getSavePath(WorldSavePath.ROOT).resolve("scripts").toAbsolutePath()+"/"+appFileName; location = "world scripts folder"; } try diff --git a/src/main/java/carpet/script/utils/SnoopyCommandSource.java b/src/main/java/carpet/script/utils/SnoopyCommandSource.java index 25c3765d..bf48a730 100644 --- a/src/main/java/carpet/script/utils/SnoopyCommandSource.java +++ b/src/main/java/carpet/script/utils/SnoopyCommandSource.java @@ -40,7 +40,7 @@ public class SnoopyCommandSource extends ServerCommandSource public SnoopyCommandSource(ServerCommandSource original, Text[] error, List chatOutput) { super(CommandOutput.DUMMY, original.getPosition(), original.getRotation(), original.getWorld(), CarpetSettings.runPermissionLevel, - original.getName(), original.getDisplayName(), original.getMinecraftServer(), original.getEntity(), false, + original.getName(), original.getDisplayName(), original.getServer(), original.getEntity(), false, (ctx, succ, res) -> { }, EntityAnchorArgumentType.EntityAnchor.FEET); this.output = CommandOutput.DUMMY; this.position = original.getPosition(); @@ -48,7 +48,7 @@ public class SnoopyCommandSource extends ServerCommandSource this.level = CarpetSettings.runPermissionLevel; this.simpleName = original.getName(); this.name = original.getDisplayName(); - this.server = original.getMinecraftServer(); + this.server = original.getServer(); this.entity = original.getEntity(); this.resultConsumer = (ctx, succ, res) -> { }; this.entityAnchor = original.getEntityAnchor(); diff --git a/src/main/java/carpet/script/utils/SystemInfo.java b/src/main/java/carpet/script/utils/SystemInfo.java index 683371f1..dc7c3976 100644 --- a/src/main/java/carpet/script/utils/SystemInfo.java +++ b/src/main/java/carpet/script/utils/SystemInfo.java @@ -42,31 +42,31 @@ public class SystemInfo { put("app_scope", c -> StringValue.of((c.host).isPerUser()?"player":"global")); put("app_players", c -> ListValue.wrap(c.host.getUserList().stream().map(StringValue::new).collect(Collectors.toList()))); - put("world_name", c -> new StringValue(c.s.getMinecraftServer().getSaveProperties().getLevelName())); + put("world_name", c -> new StringValue(c.s.getServer().getSaveProperties().getLevelName())); put("world_seed", c -> new NumericValue(c.s.getWorld().getSeed())); - put("server_motd", c -> StringValue.of(c.s.getMinecraftServer().getServerMotd())); - put("world_path", c -> StringValue.of(c.s.getMinecraftServer().getSavePath(WorldSavePath.ROOT).toString())); + put("server_motd", c -> StringValue.of(c.s.getServer().getServerMotd())); + put("world_path", c -> StringValue.of(c.s.getServer().getSavePath(WorldSavePath.ROOT).toString())); put("world_folder", c -> { - Path serverPath = c.s.getMinecraftServer().getSavePath(WorldSavePath.ROOT); + Path serverPath = c.s.getServer().getSavePath(WorldSavePath.ROOT); int nodeCount = serverPath.getNameCount(); if (nodeCount < 2) return Value.NULL; String tlf = serverPath.getName(nodeCount-2).toString(); return StringValue.of(tlf); }); - put("world_dimensions", c -> ListValue.wrap(c.s.getMinecraftServer().getWorldRegistryKeys().stream().map(k -> ValueConversions.of(k.getValue())).collect(Collectors.toList()))); + put("world_dimensions", c -> ListValue.wrap(c.s.getServer().getWorldRegistryKeys().stream().map(k -> ValueConversions.of(k.getValue())).collect(Collectors.toList()))); put("world_spawn_point", c -> { - WorldProperties prop = c.s.getMinecraftServer().getOverworld().getLevelProperties(); + WorldProperties prop = c.s.getServer().getOverworld().getLevelProperties(); return ListValue.of(NumericValue.of(prop.getSpawnX()), NumericValue.of(prop.getSpawnY()), NumericValue.of(prop.getSpawnZ())); }); - put("game_difficulty", c -> StringValue.of(c.s.getMinecraftServer().getSaveProperties().getDifficulty().getName())); - put("game_hardcore", c -> BooleanValue.of(c.s.getMinecraftServer().getSaveProperties().isHardcore())); - put("game_storage_format", c -> StringValue.of(c.s.getMinecraftServer().getSaveProperties().getFormatName(c.s.getMinecraftServer().getSaveProperties().getVersion()))); - put("game_default_gamemode", c -> StringValue.of(c.s.getMinecraftServer().getDefaultGameMode().getName())); - put("game_max_players", c -> new NumericValue(c.s.getMinecraftServer().getMaxPlayerCount())); - put("game_view_distance", c -> new NumericValue(c.s.getMinecraftServer().getPlayerManager().getViewDistance())); - put("game_mod_name", c -> StringValue.of(c.s.getMinecraftServer().getServerModName())); - put("game_version", c -> StringValue.of(c.s.getMinecraftServer().getVersion())); + put("game_difficulty", c -> StringValue.of(c.s.getServer().getSaveProperties().getDifficulty().getName())); + put("game_hardcore", c -> BooleanValue.of(c.s.getServer().getSaveProperties().isHardcore())); + put("game_storage_format", c -> StringValue.of(c.s.getServer().getSaveProperties().getFormatName(c.s.getServer().getSaveProperties().getVersion()))); + put("game_default_gamemode", c -> StringValue.of(c.s.getServer().getDefaultGameMode().getName())); + put("game_max_players", c -> new NumericValue(c.s.getServer().getMaxPlayerCount())); + put("game_view_distance", c -> new NumericValue(c.s.getServer().getPlayerManager().getViewDistance())); + put("game_mod_name", c -> StringValue.of(c.s.getServer().getServerModName())); + put("game_version", c -> StringValue.of(c.s.getServer().getVersion())); put("game_target", c -> StringValue.of(SharedConstants.getGameVersion().getReleaseTarget())); put("game_protocol", c -> NumericValue.of(SharedConstants.getProtocolVersion())); put("game_major_target", c -> { @@ -81,11 +81,11 @@ public class SystemInfo { put("game_data_version", c->NumericValue.of(SharedConstants.getGameVersion().getWorldVersion())); put("game_pack_version", c->NumericValue.of(SharedConstants.getGameVersion().getPackVersion())); - put("server_ip", c -> StringValue.of(c.s.getMinecraftServer().getServerIp())); - put("server_whitelisted", c -> BooleanValue.of(c.s.getMinecraftServer().isEnforceWhitelist())); + put("server_ip", c -> StringValue.of(c.s.getServer().getServerIp())); + put("server_whitelisted", c -> BooleanValue.of(c.s.getServer().isEnforceWhitelist())); put("server_whitelist", c -> { MapValue whitelist = new MapValue(Collections.emptyList()); - for (String s: c.s.getMinecraftServer().getPlayerManager().getWhitelistedNames()) + for (String s: c.s.getServer().getPlayerManager().getWhitelistedNames()) { whitelist.append(StringValue.of(s)); } @@ -93,7 +93,7 @@ public class SystemInfo { }); put("server_banned_players", c -> { MapValue whitelist = new MapValue(Collections.emptyList()); - for (String s: c.s.getMinecraftServer().getPlayerManager().getUserBanList().getNames()) + for (String s: c.s.getServer().getPlayerManager().getUserBanList().getNames()) { whitelist.append(StringValue.of(s)); } @@ -101,7 +101,7 @@ public class SystemInfo { }); put("server_banned_ips", c -> { MapValue whitelist = new MapValue(Collections.emptyList()); - for (String s: c.s.getMinecraftServer().getPlayerManager().getIpBanList().getNames()) + for (String s: c.s.getServer().getPlayerManager().getIpBanList().getNames()) { whitelist.append(StringValue.of(s)); } diff --git a/src/main/java/carpet/script/value/NBTSerializableValue.java b/src/main/java/carpet/script/value/NBTSerializableValue.java index c92d0af0..4a3a7b00 100644 --- a/src/main/java/carpet/script/value/NBTSerializableValue.java +++ b/src/main/java/carpet/script/value/NBTSerializableValue.java @@ -207,7 +207,7 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa if (strVal.equals("enderchest")) { Value v2 = params.get(1 + offset); - ServerPlayerEntity player = EntityValue.getPlayerByValue(c.s.getMinecraftServer(), v2); + ServerPlayerEntity player = EntityValue.getPlayerByValue(c.s.getServer(), v2); if (player == null) throw new InternalExpressionException("enderchest inventory requires player argument"); return new InventoryLocator(player, player.getBlockPos(), player.getEnderChestInventory(), offset + 2, true); } @@ -221,7 +221,7 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa } boolean isEnder = strVal.startsWith("enderchest_"); if (isEnder) strVal = strVal.substring(11); // len("enderchest_") - ServerPlayerEntity player = c.s.getMinecraftServer().getPlayerManager().getPlayer(strVal); + ServerPlayerEntity player = c.s.getServer().getPlayerManager().getPlayer(strVal); if (player == null) throw new InternalExpressionException("String description of an inventory should either denote a player or player's enderchest"); return new InventoryLocator( player, diff --git a/src/main/java/carpet/utils/CarpetProfiler.java b/src/main/java/carpet/utils/CarpetProfiler.java index fd973229..a8889799 100644 --- a/src/main/java/carpet/utils/CarpetProfiler.java +++ b/src/main/java/carpet/utils/CarpetProfiler.java @@ -82,7 +82,7 @@ public class CarpetProfiler { SECTION_STATS.put(section, 0L); } - for (RegistryKey level : source.getMinecraftServer().getWorldRegistryKeys()) + for (RegistryKey level : source.getServer().getWorldRegistryKeys()) { for (String section : SECTIONS) { diff --git a/src/main/java/carpet/utils/Messenger.java b/src/main/java/carpet/utils/Messenger.java index 68270e10..e5a6c7f2 100644 --- a/src/main/java/carpet/utils/Messenger.java +++ b/src/main/java/carpet/utils/Messenger.java @@ -253,7 +253,7 @@ public class Messenger public static void m(ServerCommandSource source, Object ... fields) { if (source != null) - source.sendFeedback(Messenger.c(fields),source.getMinecraftServer() != null && source.getMinecraftServer().getWorld(World.OVERWORLD) != null); //OW + source.sendFeedback(Messenger.c(fields),source.getServer() != null && source.getServer().getWorld(World.OVERWORLD) != null); //OW } public static void m(PlayerEntity player, Object ... fields) {