This commit is contained in:
gnembon committed 2021-06-29 17:28:58 -03:00
1 parent 787eb3e41d
commit 9a4e15da48
28 files changed
+176 -149

No files matched your search

+1 -1
View File
@@ -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())
{
@@ -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);
}
@@ -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");
@@ -136,7 +136,7 @@ public class PlayerCommand
private static ServerPlayerEntity getPlayer(CommandContext<ServerCommandSource> 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<ServerCommandSource> 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");
@@ -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());
}
@@ -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;
}
@@ -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;
}
},
+1 -1
View File
@@ -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);
@@ -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<ServerWorld> 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<Boolean> cir)
{
cir.setReturnValue(profilerEnabled || profilerTimings != null);
cir.setReturnValue(needsDebugSetup || profilerTimings != null);
}
@Inject(method = "stopDebug", at = @At("HEAD"), cancellable = true)
public void stopCMDebug(CallbackInfoReturnable<ProfileResult> 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
@@ -18,6 +18,6 @@ public class ReloadCommand_reloadAppsMixin {
private static void onReload(CommandContext<ServerCommandSource> context, CallbackInfoReturnable<Integer> cir)
{
// can't fetch here the reference to the server
CarpetServer.onReload(context.getSource().getMinecraftServer());
CarpetServer.onReload(context.getSource().getServer());
}
}
@@ -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<T extends EntityLike> implements SimpleEntityLookupInterface
{
@Shadow @Final private SectionedEntityCache<T> cache;
@Override
public List<T> getChunkEntities(ChunkPos chpos) {
return this.cache.getTrackingSections(chpos.toLong()).flatMap(EntityTrackingSection::stream).collect(Collectors.toList());
}
}
@@ -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);
@@ -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());
@@ -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);
+21 -21
View File
@@ -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<ServerPlayerEntity> 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<ServerPlayerEntity> 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<Text> 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<Value> 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();
@@ -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<? extends Entity> 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<? extends Entity> 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<EntityType<? extends Entity>> 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)
@@ -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<Item> 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<Recipe<?>> 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<Value> recipesOutput = new ArrayList<>();
@@ -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);
@@ -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
{
@@ -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<Block> 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<StructureFeature<?>, 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<String, Integer> report = ((ThreadedAnvilChunkStorageInterface) world.getChunkManager().threadedAnvilChunkStorage).regenerateChunkRegion(requestedChunks);
/*for (ChunkPos chpos: requestedChunks) // needed in 1.16 only
@@ -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
@@ -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
@@ -40,7 +40,7 @@ public class SnoopyCommandSource extends ServerCommandSource
public SnoopyCommandSource(ServerCommandSource original, Text[] error, List<Text> 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();
@@ -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));
}
@@ -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,
@@ -82,7 +82,7 @@ public class CarpetProfiler
{
SECTION_STATS.put(section, 0L);
}
for (RegistryKey<World> level : source.getMinecraftServer().getWorldRegistryKeys())
for (RegistryKey<World> level : source.getServer().getWorldRegistryKeys())
{
for (String section : SECTIONS)
{
+1 -1
View File
@@ -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)
{