From deb94195f567065dd85ba9c580000c1e6eed9324 Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Wed, 24 Apr 2024 07:43:57 +0800 Subject: [PATCH 1/9] cleanup --- .../carpet/api/settings/SettingsManager.java | 24 ++++---- .../java/carpet/commands/InfoCommand.java | 8 +-- src/main/java/carpet/commands/LogCommand.java | 2 +- .../java/carpet/commands/SpawnCommand.java | 8 +-- .../fakes/ChunkTicketManagerInterface.java | 2 - .../carpet/fakes/IngredientInterface.java | 14 ----- .../fakes/RedstoneWireBlockInterface.java | 1 - .../carpet/fakes/SpawnGroupInterface.java | 6 -- .../ThreadedAnvilChunkStorageInterface.java | 3 - .../helpers/EntityPlayerActionPack.java | 2 +- .../java/carpet/helpers/HopperCounter.java | 18 ++---- .../carpet/helpers/RedstoneWireTurbo.java | 2 +- .../java/carpet/logging/HUDController.java | 4 +- .../logHelpers/ExplosionLogHelper.java | 2 +- .../logHelpers/TrajectoryLogHelper.java | 2 +- .../ChunkMap_scarpetChunkCreationMixin.java | 6 -- .../DistanceManager_spawnChunksMixin.java | 55 ------------------ .../mixins/Ingredient_scarpetMixin.java | 24 -------- ...LevelEntityGetterAdapter_scarpetMixin.java | 2 +- .../carpet/mixins/Level_movableBEMixin.java | 5 -- .../mixins/MinecraftServer_scarpetMixin.java | 2 +- .../carpet/mixins/MobCategory_spawnMixin.java | 9 +-- .../mixins/RedstoneWireBlock_fastMixin.java | 4 -- .../java/carpet/mixins/Villager_aiMixin.java | 11 +--- .../java/carpet/script/CarpetEventServer.java | 2 +- .../java/carpet/script/CarpetScriptHost.java | 6 +- src/main/java/carpet/script/Expression.java | 28 ++++----- src/main/java/carpet/script/Module.java | 2 +- .../java/carpet/script/ScriptCommand.java | 8 +-- src/main/java/carpet/script/Tokenizer.java | 4 +- .../java/carpet/script/api/Auxiliary.java | 58 +++++++++---------- src/main/java/carpet/script/api/Entities.java | 22 +++---- .../java/carpet/script/api/Inventories.java | 24 ++++---- .../java/carpet/script/api/Monitoring.java | 4 +- .../java/carpet/script/api/Scoreboards.java | 22 +++---- .../java/carpet/script/api/Threading.java | 6 +- .../java/carpet/script/api/WorldAccess.java | 33 +++++------ .../carpet/script/argument/FileArgument.java | 2 +- .../script/argument/FunctionArgument.java | 2 +- .../script/argument/Vector3Argument.java | 2 +- .../script/command/CommandArgument.java | 6 +- .../java/carpet/script/external/Vanilla.java | 9 --- .../carpet/script/language/Arithmetic.java | 12 ++-- .../carpet/script/language/ControlFlow.java | 8 +-- .../script/language/DataStructures.java | 32 +++++----- .../carpet/script/language/Functions.java | 8 +-- .../java/carpet/script/language/Loops.java | 24 ++++---- .../carpet/script/language/Operators.java | 26 ++++----- src/main/java/carpet/script/language/Sys.java | 36 ++++++------ .../carpet/script/language/Threading.java | 18 +++--- .../carpet/script/utils/AppStoreManager.java | 2 +- .../carpet/script/utils/ShapeDispatcher.java | 20 +++---- .../java/carpet/script/value/EntityValue.java | 20 +++---- .../java/carpet/script/value/ListValue.java | 8 +-- .../java/carpet/script/value/MapValue.java | 6 +- .../script/value/NBTSerializableValue.java | 2 +- .../java/carpet/script/value/ScreenValue.java | 2 +- .../carpet/script/value/ValueConversions.java | 4 +- src/main/java/carpet/settings/ParsedRule.java | 4 +- .../java/carpet/utils/CarpetProfiler.java | 2 +- src/main/java/carpet/utils/Messenger.java | 2 +- src/main/java/carpet/utils/SpawnReporter.java | 10 ++-- src/main/resources/carpet.mixins.json | 2 - 63 files changed, 272 insertions(+), 432 deletions(-) delete mode 100644 src/main/java/carpet/fakes/IngredientInterface.java delete mode 100644 src/main/java/carpet/fakes/SpawnGroupInterface.java delete mode 100644 src/main/java/carpet/mixins/DistanceManager_spawnChunksMixin.java delete mode 100644 src/main/java/carpet/mixins/Ingredient_scarpetMixin.java diff --git a/src/main/java/carpet/api/settings/SettingsManager.java b/src/main/java/carpet/api/settings/SettingsManager.java index b8a0430f72..3faa94ce26 100644 --- a/src/main/java/carpet/api/settings/SettingsManager.java +++ b/src/main/java/carpet/api/settings/SettingsManager.java @@ -78,7 +78,7 @@ public class SettingsManager { private MinecraftServer server; private final List observers = new ArrayList<>(); private static final List staticObservers = new ArrayList<>(); - static record ConfigReadResult(Map ruleMap, boolean locked) {} + record ConfigReadResult(Map ruleMap, boolean locked) {} /** *

Defines a class that can be notified about a {@link CarpetRule} changing.

@@ -88,7 +88,7 @@ static record ConfigReadResult(Map ruleMap, boolean locked) {} * @see SettingsManager#registerGlobalRuleObserver(RuleObserver) */ @FunctionalInterface - public static interface RuleObserver { + public interface RuleObserver { /** *

Notifies this {@link RuleObserver} about the change of a {@link CarpetRule}.

* @@ -362,7 +362,7 @@ private void disableBooleanCommands() if (rule.suggestions().contains("false")) rule.set(server.createCommandSourceStack(), "false"); else - CarpetSettings.LOG.warn("Couldn't disable command rule "+ rule.name() + ": it doesn't suggest false as a valid option"); + CarpetSettings.LOG.warn("Couldn't disable command rule {}: it doesn't suggest false as a valid option", rule.name()); } catch (InvalidRuleValueException e) { throw new IllegalStateException(e); // contract of CarpetRule.suggestions() } @@ -569,7 +569,7 @@ static CompletableFuture suggestMatchingContains(Stream str String query = suggestionsBuilder.getRemaining().toLowerCase(Locale.ROOT); stream.forEach((listItem) -> { // Regex camelCase Search - var words = Arrays.stream(listItem.split("(? s.toLowerCase(Locale.ROOT)).collect(Collectors.toList()); + var words = Arrays.stream(listItem.split("(? s.toLowerCase(Locale.ROOT)).toList(); var prefixes = new ArrayList(words.size()); for (int i = 0; i < words.size(); i++) prefixes.add(String.join("", words.subList(i, words.size()))); @@ -658,8 +658,8 @@ private int displayRuleMenu(CommandSourceStack source, CarpetRule rule) //TOD tags.add(Messenger.c("c ["+ translated +"]", "^g "+ String.format(tr(TranslationKeys.LIST_ALL_CATEGORY), translated),"!/"+identifier+" list "+t)); tags.add(Messenger.c("w , ")); } - tags.remove(tags.size() - 1); - Messenger.m(source, tags.toArray(new Object[0])); + tags.removeLast(); + Messenger.m(source, tags.toArray()); Messenger.m(source, "w "+ tr(TranslationKeys.CURRENT_VALUE)+": ", String.format("%s %s (%s value)", RuleHelper.getBooleanValue(rule) ? "lb" : "nb", RuleHelper.toRuleString(rule.value()), RuleHelper.isInDefaultValue(rule) ? "default" : "modified")); List options = new ArrayList<>(); @@ -669,9 +669,9 @@ private int displayRuleMenu(CommandSourceStack source, CarpetRule rule) //TOD options.add(makeSetRuleButton(rule, o, false)); options.add(Messenger.c("w ")); } - options.remove(options.size()-1); + options.removeLast(); options.add(Messenger.c("y ]")); - Messenger.m(source, options.toArray(new Object[0])); + Messenger.m(source, options.toArray()); return 1; } @@ -736,8 +736,8 @@ private Component displayInteractiveSetting(CarpetRule rule) args.add(makeSetRuleButton(rule, RuleHelper.toRuleString(rule.value()), true)); args.add("w "); } - args.remove(args.size()-1); - return Messenger.c(args.toArray(new Object[0])); + args.removeLast(); + return Messenger.c(args.toArray()); } private Component makeSetRuleButton(CarpetRule rule, String option, boolean brackets) @@ -780,8 +780,8 @@ private int listAllSettings(CommandSourceStack source) tags.add("!/"+identifier+" list " + t); tags.add("w "); } - tags.remove(tags.size() - 1); - Messenger.m(source, tags.toArray(new Object[0])); + tags.removeLast(); + Messenger.m(source, tags.toArray()); return count; } diff --git a/src/main/java/carpet/commands/InfoCommand.java b/src/main/java/carpet/commands/InfoCommand.java index 4e36964c7e..10f41cea84 100644 --- a/src/main/java/carpet/commands/InfoCommand.java +++ b/src/main/java/carpet/commands/InfoCommand.java @@ -49,16 +49,14 @@ public static void printBlock(List messages, CommandSourceStack sourc if (grep != null) { Pattern p = Pattern.compile(grep); - Messenger.m(source, messages.get(0)); - for (int i = 1; i { Matcher m = p.matcher(line.getString()); if (m.find()) { Messenger.m(source, line); } - } + }); } else { diff --git a/src/main/java/carpet/commands/LogCommand.java b/src/main/java/carpet/commands/LogCommand.java index bd9cd4eade..3cbb59a8c0 100644 --- a/src/main/java/carpet/commands/LogCommand.java +++ b/src/main/java/carpet/commands/LogCommand.java @@ -129,7 +129,7 @@ private static int listLogs(CommandSourceStack source) comp.add("^w Click to unsubscribe"); comp.add("!/log "+lname); } - Messenger.m(player,comp.toArray(new Object[0])); + Messenger.m(player,comp.toArray()); } return 1; } diff --git a/src/main/java/carpet/commands/SpawnCommand.java b/src/main/java/carpet/commands/SpawnCommand.java index e8824aface..664406951f 100644 --- a/src/main/java/carpet/commands/SpawnCommand.java +++ b/src/main/java/carpet/commands/SpawnCommand.java @@ -1,7 +1,6 @@ package carpet.commands; import carpet.CarpetSettings; -import carpet.fakes.SpawnGroupInterface; import carpet.helpers.HopperCounter; import carpet.utils.CommandHelper; import carpet.utils.Messenger; @@ -210,10 +209,7 @@ private static int generalMobcaps(CommandSourceStack source) private static int resetSpawnRates(CommandSourceStack source) { - for (MobCategory s: SpawnReporter.spawn_tries.keySet()) - { - SpawnReporter.spawn_tries.put(s,1); - } + SpawnReporter.spawn_tries.replaceAll((s, v) -> 1); Messenger.m(source, "gi Spawn rates brought to 1 round per tick for all groups."); return 1; @@ -229,7 +225,7 @@ private static int setSpawnRates(CommandSourceStack source, String mobtype, int private static int setMobcaps(CommandSourceStack source, int hostile_cap) { - double desired_ratio = (double)hostile_cap/ ((SpawnGroupInterface)(Object)MobCategory.MONSTER).getInitialSpawnCap(); + double desired_ratio = (double)hostile_cap/ MobCategory.MONSTER.getMaxInstancesPerChunk(); SpawnReporter.mobcap_exponent = 4.0*Math.log(desired_ratio)/Math.log(2.0); Messenger.m(source, String.format("gi Mobcaps for hostile mobs changed to %d, other groups will follow", hostile_cap)); return 1; diff --git a/src/main/java/carpet/fakes/ChunkTicketManagerInterface.java b/src/main/java/carpet/fakes/ChunkTicketManagerInterface.java index 2a01ed8c6a..164e36a550 100644 --- a/src/main/java/carpet/fakes/ChunkTicketManagerInterface.java +++ b/src/main/java/carpet/fakes/ChunkTicketManagerInterface.java @@ -4,11 +4,9 @@ import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.Ticket; import net.minecraft.util.SortedArraySet; -import net.minecraft.world.level.ChunkPos; public interface ChunkTicketManagerInterface { - void changeSpawnChunks(ChunkPos pos, int distance); Long2ObjectOpenHashMap>> getTicketsByPosition(); diff --git a/src/main/java/carpet/fakes/IngredientInterface.java b/src/main/java/carpet/fakes/IngredientInterface.java deleted file mode 100644 index f6d938547f..0000000000 --- a/src/main/java/carpet/fakes/IngredientInterface.java +++ /dev/null @@ -1,14 +0,0 @@ -package carpet.fakes; - -import java.util.Collection; -import java.util.List; -import net.minecraft.world.item.ItemStack; - -public interface IngredientInterface -{ - /** - * Gets all the stacks of the ingredients for a given item recipe. Also used for {@link carpet.helpers.HopperCounter#guessColor} - * to guess the colour of an item to display it prettily - */ - List> getRecipeStacks(); -} diff --git a/src/main/java/carpet/fakes/RedstoneWireBlockInterface.java b/src/main/java/carpet/fakes/RedstoneWireBlockInterface.java index 8d6b771696..61de004137 100644 --- a/src/main/java/carpet/fakes/RedstoneWireBlockInterface.java +++ b/src/main/java/carpet/fakes/RedstoneWireBlockInterface.java @@ -7,5 +7,4 @@ public interface RedstoneWireBlockInterface { BlockState updateLogicPublic(Level world_1, BlockPos blockPos_1, BlockState blockState_1); void setWiresGivePower(boolean wiresGivePower); - boolean getWiresGivePower(); } diff --git a/src/main/java/carpet/fakes/SpawnGroupInterface.java b/src/main/java/carpet/fakes/SpawnGroupInterface.java deleted file mode 100644 index 6f28807e6e..0000000000 --- a/src/main/java/carpet/fakes/SpawnGroupInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package carpet.fakes; - -public interface SpawnGroupInterface -{ - int getInitialSpawnCap(); -} diff --git a/src/main/java/carpet/fakes/ThreadedAnvilChunkStorageInterface.java b/src/main/java/carpet/fakes/ThreadedAnvilChunkStorageInterface.java index fd1fa762f6..0c5350412d 100644 --- a/src/main/java/carpet/fakes/ThreadedAnvilChunkStorageInterface.java +++ b/src/main/java/carpet/fakes/ThreadedAnvilChunkStorageInterface.java @@ -2,7 +2,6 @@ import java.util.List; import java.util.Map; -import net.minecraft.server.level.ChunkHolder; import net.minecraft.world.level.ChunkPos; public interface ThreadedAnvilChunkStorageInterface @@ -12,6 +11,4 @@ public interface ThreadedAnvilChunkStorageInterface void relightChunk(ChunkPos pos); void releaseRelightTicket(ChunkPos pos); - - Iterable getChunksCM(); } diff --git a/src/main/java/carpet/helpers/EntityPlayerActionPack.java b/src/main/java/carpet/helpers/EntityPlayerActionPack.java index e0601ea28c..8ea3b43022 100644 --- a/src/main/java/carpet/helpers/EntityPlayerActionPack.java +++ b/src/main/java/carpet/helpers/EntityPlayerActionPack.java @@ -181,7 +181,7 @@ public EntityPlayerActionPack mount(boolean onlyRideables) { entities = player.level().getEntities(player, player.getBoundingBox().inflate(3.0D, 1.0D, 3.0D)); } - if (entities.size()==0) + if (entities.isEmpty()) return this; Entity closest = null; double distance = Double.POSITIVE_INFINITY; diff --git a/src/main/java/carpet/helpers/HopperCounter.java b/src/main/java/carpet/helpers/HopperCounter.java index 3e419e8336..3cafc898f5 100644 --- a/src/main/java/carpet/helpers/HopperCounter.java +++ b/src/main/java/carpet/helpers/HopperCounter.java @@ -1,7 +1,6 @@ package carpet.helpers; import carpet.CarpetServer; -import carpet.fakes.IngredientInterface; import carpet.fakes.RecipeManagerInterface; import carpet.utils.Messenger; import it.unimi.dsi.fastutil.objects.Object2LongLinkedOpenHashMap; @@ -32,13 +31,11 @@ import net.minecraft.world.level.material.MapColor; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.stream.Collectors; import static java.util.Map.entry; @@ -177,7 +174,7 @@ public static List formatAll(MinecraftServer server, boolean realtime public List format(MinecraftServer server, boolean realTime, boolean brief) { long ticks = Math.max(realTime ? (System.currentTimeMillis() - startMillis) / 50 : server.overworld().getGameTime() - startTick, 1); - if (startTick < 0 || ticks == 0) + if (startTick < 0) { if (brief) { @@ -222,7 +219,7 @@ public List format(MinecraftServer server, boolean realTime, boolean "g : ","wb "+count,"g , ", String.format("wb %.1f", count * (20.0 * 60.0 * 60.0) / ticks), "w /h" ); - }).collect(Collectors.toList())); + }).toList()); return items; } @@ -378,14 +375,11 @@ public static TextColor guessColor(Item item, RegistryAccess registryAccess) { for (Ingredient ingredient: r.getIngredients()) { - for (Collection stacks : ((IngredientInterface) (Object) ingredient).getRecipeStacks()) + for (ItemStack iStak : ingredient.getItems()) { - for (ItemStack iStak : stacks) - { - TextColor cand = fromItem(iStak.getItem(), registryAccess); - if (cand != null) - return cand; - } + TextColor cand = fromItem(iStak.getItem(), registryAccess); + if (cand != null) + return cand; } } } diff --git a/src/main/java/carpet/helpers/RedstoneWireTurbo.java b/src/main/java/carpet/helpers/RedstoneWireTurbo.java index 30a1c37de1..6d59b5e42a 100644 --- a/src/main/java/carpet/helpers/RedstoneWireTurbo.java +++ b/src/main/java/carpet/helpers/RedstoneWireTurbo.java @@ -963,6 +963,6 @@ public void updateNeighborShapes(Level level, BlockPos pos, BlockState state) { private static int getMaxCurrentStrength(final UpdateNode upd, final int strength) { if (upd.type != UpdateNode.Type.REDSTONE) return strength; final int i = upd.currentState.getValue(RedStoneWireBlock.POWER); - return i > strength ? i : strength; + return Math.max(i, strength); } } \ No newline at end of file diff --git a/src/main/java/carpet/logging/HUDController.java b/src/main/java/carpet/logging/HUDController.java index b29fbab6e7..08cff75e51 100644 --- a/src/main/java/carpet/logging/HUDController.java +++ b/src/main/java/carpet/logging/HUDController.java @@ -90,7 +90,7 @@ public static void update_hud(MinecraftServer server, List force) case "end" -> Level.END; default -> player.level().dimension(); }; - return new Component[]{SpawnReporter.printMobcapsForDimension(server.getLevel(dim), false).get(0)}; + return new Component[]{SpawnReporter.printMobcapsForDimension(server.getLevel(dim), false).getFirst()}; }); if(LoggerRegistry.__counter) @@ -108,7 +108,7 @@ public static void update_hud(MinecraftServer server, List force) { ClientboundTabListPacket packet = new ClientboundTabListPacket( scarpet_headers.getOrDefault(player.getScoreboardName(), Component.literal("")), - Messenger.c(player_huds.getOrDefault(player, List.of()).toArray(new Object[0])) + Messenger.c(player_huds.getOrDefault(player, List.of()).toArray()) ); player.connection.send(packet); } diff --git a/src/main/java/carpet/logging/logHelpers/ExplosionLogHelper.java b/src/main/java/carpet/logging/logHelpers/ExplosionLogHelper.java index 972ec1a5c0..8f5b7e8f85 100644 --- a/src/main/java/carpet/logging/logHelpers/ExplosionLogHelper.java +++ b/src/main/java/carpet/logging/logHelpers/ExplosionLogHelper.java @@ -96,7 +96,7 @@ public void onEntityImpacted(Entity entity, Vec3 accel) } - public static record EntityChangedStatusWithCount(Vec3 pos, EntityType type, Vec3 accel) + public record EntityChangedStatusWithCount(Vec3 pos, EntityType type, Vec3 accel) { public EntityChangedStatusWithCount(Entity e, Vec3 accel) { diff --git a/src/main/java/carpet/logging/logHelpers/TrajectoryLogHelper.java b/src/main/java/carpet/logging/logHelpers/TrajectoryLogHelper.java index 064510dd31..98c864266d 100644 --- a/src/main/java/carpet/logging/logHelpers/TrajectoryLogHelper.java +++ b/src/main/java/carpet/logging/logHelpers/TrajectoryLogHelper.java @@ -51,7 +51,7 @@ public void onFinish() line.add(String.format("^w Tick: %d\nx: %f\ny: %f\nz: %f\n------------\nmx: %f\nmy: %f\nmz: %f", i, pos.x, pos.y, pos.z, mot.x, mot.y, mot.z)); if ((((i + 1) % MAX_TICKS_PER_LINE) == 0) || i == positions.size() - 1) { - comp.add(Messenger.c(line.toArray(new Object[0]))); + comp.add(Messenger.c(line.toArray())); line.clear(); } } diff --git a/src/main/java/carpet/mixins/ChunkMap_scarpetChunkCreationMixin.java b/src/main/java/carpet/mixins/ChunkMap_scarpetChunkCreationMixin.java index ff7e9a3d5b..3e5e248469 100644 --- a/src/main/java/carpet/mixins/ChunkMap_scarpetChunkCreationMixin.java +++ b/src/main/java/carpet/mixins/ChunkMap_scarpetChunkCreationMixin.java @@ -547,10 +547,4 @@ public Map regenerateChunkRegion(List requestedChunks return report; } - - @Override - public Iterable getChunksCM() - { - return getChunks(); - } } diff --git a/src/main/java/carpet/mixins/DistanceManager_spawnChunksMixin.java b/src/main/java/carpet/mixins/DistanceManager_spawnChunksMixin.java deleted file mode 100644 index e4a24c65ea..0000000000 --- a/src/main/java/carpet/mixins/DistanceManager_spawnChunksMixin.java +++ /dev/null @@ -1,55 +0,0 @@ -package carpet.mixins; - -import carpet.fakes.ChunkTicketManagerInterface; -import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; -import net.minecraft.server.level.DistanceManager; -import net.minecraft.server.level.Ticket; -import net.minecraft.server.level.TicketType; -import net.minecraft.util.SortedArraySet; -import net.minecraft.util.Unit; -import net.minecraft.world.level.ChunkPos; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import java.util.Iterator; - -@Mixin(DistanceManager.class) -public abstract class DistanceManager_spawnChunksMixin implements ChunkTicketManagerInterface -{ - @Shadow @Final private Long2ObjectOpenHashMap>> tickets; - - @Shadow protected abstract void removeTicket(long pos, Ticket ticket); - - @Shadow public abstract void addRegionTicket(TicketType type, ChunkPos pos, int radius, T argument); - - @Override - public void changeSpawnChunks(ChunkPos chunkPos, int distance) - { - long pos = chunkPos.toLong(); - SortedArraySet> set = tickets.get(pos); - Ticket existingTicket = null; - if (set != null) - { - Iterator> iter = set.iterator(); - while(iter.hasNext()) - { - Ticket ticket = iter.next(); - if (ticket.getType() == TicketType.START) - { - existingTicket = ticket; - iter.remove(); - } - } - set.add(existingTicket); - } - // the reason we are removing the ticket this way is that there are sideeffects of removal - if (existingTicket != null) - { - removeTicket(pos, existingTicket); - } - // set optionally new spawn ticket - if (distance > 0) - addRegionTicket(TicketType.START, chunkPos, distance, Unit.INSTANCE); - } -} diff --git a/src/main/java/carpet/mixins/Ingredient_scarpetMixin.java b/src/main/java/carpet/mixins/Ingredient_scarpetMixin.java deleted file mode 100644 index 4d33697e80..0000000000 --- a/src/main/java/carpet/mixins/Ingredient_scarpetMixin.java +++ /dev/null @@ -1,24 +0,0 @@ -package carpet.mixins; - -import carpet.fakes.IngredientInterface; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; - -@Mixin(Ingredient.class) -public class Ingredient_scarpetMixin implements IngredientInterface -{ - @Shadow @Final private Ingredient.Value[] values; - - @Override - public List> getRecipeStacks() - { - return Arrays.stream(values).map(Ingredient.Value::getItems).toList(); - } -} diff --git a/src/main/java/carpet/mixins/LevelEntityGetterAdapter_scarpetMixin.java b/src/main/java/carpet/mixins/LevelEntityGetterAdapter_scarpetMixin.java index 51ae92127c..f91b4e21a2 100644 --- a/src/main/java/carpet/mixins/LevelEntityGetterAdapter_scarpetMixin.java +++ b/src/main/java/carpet/mixins/LevelEntityGetterAdapter_scarpetMixin.java @@ -21,7 +21,7 @@ public class LevelEntityGetterAdapter_scarpetMixin imple @Override public List getChunkEntities(ChunkPos chpos) { - return this.sectionStorage.getExistingSectionsInChunk(chpos.toLong()).flatMap(EntitySection::getEntities).collect(Collectors.toList()); + return this.sectionStorage.getExistingSectionsInChunk(chpos.toLong()).flatMap(EntitySection::getEntities).toList(); } } diff --git a/src/main/java/carpet/mixins/Level_movableBEMixin.java b/src/main/java/carpet/mixins/Level_movableBEMixin.java index d5820368ae..0563e0ea02 100644 --- a/src/main/java/carpet/mixins/Level_movableBEMixin.java +++ b/src/main/java/carpet/mixins/Level_movableBEMixin.java @@ -31,9 +31,6 @@ public abstract class Level_movableBEMixin implements LevelInterface, LevelAcces @Shadow public abstract BlockState getBlockState(BlockPos blockPos_1); - //@Shadow - //public abstract ChunkManager getChunkManager(); - @Shadow public abstract void setBlocksDirty(BlockPos blockPos_1, BlockState s1, BlockState s2); @@ -50,8 +47,6 @@ public abstract class Level_movableBEMixin implements LevelInterface, LevelAcces @Shadow public abstract void updateNeighbourForOutputSignal(BlockPos pos, Block block); - //@Shadow public abstract boolean setBlockState(BlockPos pos, BlockState state, int flags); - @Shadow public abstract boolean isDebug(); /** diff --git a/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java b/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java index a52d55a0f9..b21aaf425f 100644 --- a/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java +++ b/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java @@ -39,7 +39,7 @@ public MinecraftServer_scarpetMixin(String string_1) super(string_1); } - @Shadow protected abstract void tickServer(BooleanSupplier booleanSupplier_1); + @Shadow public abstract void tickServer(BooleanSupplier booleanSupplier_1); @Shadow @Final protected LevelStorageSource.LevelStorageAccess storageSource; diff --git a/src/main/java/carpet/mixins/MobCategory_spawnMixin.java b/src/main/java/carpet/mixins/MobCategory_spawnMixin.java index dcbf87c9aa..81715f3789 100644 --- a/src/main/java/carpet/mixins/MobCategory_spawnMixin.java +++ b/src/main/java/carpet/mixins/MobCategory_spawnMixin.java @@ -1,6 +1,5 @@ package carpet.mixins; -import carpet.fakes.SpawnGroupInterface; import carpet.utils.SpawnReporter; import net.minecraft.world.entity.MobCategory; import org.spongepowered.asm.mixin.Final; @@ -11,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(MobCategory.class) -public class MobCategory_spawnMixin implements SpawnGroupInterface +public class MobCategory_spawnMixin { @Shadow @Final private int max; @@ -20,10 +19,4 @@ private void getModifiedCapacity(CallbackInfoReturnable cir) { cir.setReturnValue ((int) ((double)max*(Math.pow(2.0,(SpawnReporter.mobcap_exponent/4))))); } - - @Override - public int getInitialSpawnCap() - { - return max; - } } diff --git a/src/main/java/carpet/mixins/RedstoneWireBlock_fastMixin.java b/src/main/java/carpet/mixins/RedstoneWireBlock_fastMixin.java index 0ac25bd107..d5ec8898ef 100644 --- a/src/main/java/carpet/mixins/RedstoneWireBlock_fastMixin.java +++ b/src/main/java/carpet/mixins/RedstoneWireBlock_fastMixin.java @@ -36,10 +36,6 @@ private void updatePowerStrength(Level world_1, BlockPos blockPos_1, BlockState @Accessor("shouldSignal") public abstract void setWiresGivePower(boolean wiresGivePower); - @Override - @Accessor("shouldSignal") - public abstract boolean getWiresGivePower(); - // = private RedstoneWireTurbo wireTurbo = null; diff --git a/src/main/java/carpet/mixins/Villager_aiMixin.java b/src/main/java/carpet/mixins/Villager_aiMixin.java index 359fbcf6f0..47facee821 100644 --- a/src/main/java/carpet/mixins/Villager_aiMixin.java +++ b/src/main/java/carpet/mixins/Villager_aiMixin.java @@ -13,7 +13,6 @@ import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; import net.minecraft.core.BlockPos; import net.minecraft.core.GlobalPos; import net.minecraft.core.particles.BlockParticleOption; @@ -27,7 +26,6 @@ import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.ai.village.poi.PoiManager; import net.minecraft.world.entity.ai.village.poi.PoiRecord; -import net.minecraft.world.entity.ai.village.poi.PoiType; import net.minecraft.world.entity.npc.AbstractVillager; import net.minecraft.world.entity.npc.Villager; import net.minecraft.world.entity.player.Player; @@ -65,14 +63,7 @@ private void ontick(CallbackInfo ci) { long time; Optional> last_seen = this.brain.getMemories().get(MemoryModuleType.GOLEM_DETECTED_RECENTLY); - if (!last_seen.isPresent()) - { - time = 0; - } - else - { - time = last_seen.get().getTimeToLive(); - } + time = last_seen.map(ExpirableValue::getTimeToLive).orElse(0L); boolean recentlySeen = time > 0; Optional optional_11 = this.brain.getMemory(MemoryModuleType.LAST_SLEPT); //Optional optional_22 = this.brain.getOptionalMemory(MemoryModuleType.LAST_WORKED_AT_POI); diff --git a/src/main/java/carpet/script/CarpetEventServer.java b/src/main/java/carpet/script/CarpetEventServer.java index 24de93ac0d..4c58d5cf55 100644 --- a/src/main/java/carpet/script/CarpetEventServer.java +++ b/src/main/java/carpet/script/CarpetEventServer.java @@ -429,7 +429,7 @@ public static class Event public static List publicEvents(CarpetScriptServer server) { - List events = byName.values().stream().filter(e -> e.isPublic).collect(Collectors.toList()); + List events = byName.values().stream().filter(e -> e.isPublic).toList(); if (server != null) { events.addAll(server.events.customEvents.values()); diff --git a/src/main/java/carpet/script/CarpetScriptHost.java b/src/main/java/carpet/script/CarpetScriptHost.java index 7a8d8412f5..2a6e020c18 100644 --- a/src/main/java/carpet/script/CarpetScriptHost.java +++ b/src/main/java/carpet/script/CarpetScriptHost.java @@ -164,7 +164,7 @@ public LiteralArgumentBuilder addPathToCommand( ) throws CommandSyntaxException { String hostName = main.name(); - List commandArgs = path.stream().filter(t -> t.isArgument).map(t -> t.surface).collect(Collectors.toList()); + List commandArgs = path.stream().filter(t -> t.isArgument).map(t -> t.surface).toList(); if (commandArgs.size() != (functionSpec.function.getNumParams() - functionSpec.args.size())) { throw CommandArgument.error("Number of parameters in function " + functionSpec.function.fullName() + " doesn't match parameters for a command"); @@ -175,7 +175,7 @@ public LiteralArgumentBuilder addPathToCommand( } List reversedPath = new ArrayList<>(path); Collections.reverse(reversedPath); - ArgumentBuilder argChain = reversedPath.get(0).getCommandNode(this).executes(c -> execute(c, hostName, functionSpec, commandArgs)); + ArgumentBuilder argChain = reversedPath.getFirst().getCommandNode(this).executes(c -> execute(c, hostName, functionSpec, commandArgs)); for (int i = 1; i < reversedPath.size(); i++) { argChain = reversedPath.get(i).getCommandNode(this).then(argChain); @@ -518,7 +518,7 @@ private Boolean addLegacyCommand(Consumer notifier) boolean hasTypeSupport = appConfig.getOrDefault(StringValue.of("legacy_command_type_support"), Value.FALSE).getBoolean(); - for (String function : globalFunctionNames(main, s -> !s.startsWith("_")).sorted().collect(Collectors.toList())) + for (String function : globalFunctionNames(main, s -> !s.startsWith("_")).sorted().toList()) { if (hasTypeSupport) { diff --git a/src/main/java/carpet/script/Expression.java b/src/main/java/carpet/script/Expression.java index 7f427a40a8..b8051597eb 100644 --- a/src/main/java/carpet/script/Expression.java +++ b/src/main/java/carpet/script/Expression.java @@ -135,7 +135,7 @@ public List getExpressionSnippet(Tokenizer.Token token) String code = this.getCodeString(); List output = new ArrayList<>(getExpressionSnippetLeftContext(token, code, 1)); List context = getExpressionSnippetContext(token, code); - output.add(context.get(0) + " HERE>> " + context.get(1)); + output.add(context.getFirst() + " HERE>> " + context.get(1)); output.addAll(getExpressionSnippetRightContext(token, code, 1)); return output; } @@ -463,7 +463,7 @@ public void addUnaryFunction(String name, Function fun) @Override public Value eval(List parameters) { - return fun.apply(parameters.get(0)); + return fun.apply(parameters.getFirst()); } }); } @@ -481,7 +481,7 @@ public boolean pure() @Override public Value eval(List parameters) { - return fun.apply(parameters.get(0)); + return fun.apply(parameters.getFirst()); } }); } @@ -493,7 +493,7 @@ public void addBinaryFunction(String name, BiFunction fun) @Override public Value eval(List parameters) { - return fun.apply(parameters.get(0), parameters.get(1)); + return fun.apply(parameters.getFirst(), parameters.get(1)); } }); } @@ -1143,7 +1143,7 @@ private ExpressionNode RPNToParseTree(List tokens, Context cont { nodeStack.pop(); } - List params = p.stream().map(n -> n.op).collect(Collectors.toList()); + List params = p.stream().map(n -> n.op).toList(); nodeStack.push(new ExpressionNode( (c, t) -> f.lazyEval(c, t, this, token, params).evalValue(c, t), p, token @@ -1308,10 +1308,10 @@ else if (rop.equals("return")) { if (!returnNode.args.isEmpty()) { - returnNode.op = returnNode.args.get(0).op; - returnNode.token = returnNode.args.get(0).token; - returnNode.range = returnNode.args.get(0).range; - returnNode.args = returnNode.args.get(0).args; + returnNode.op = returnNode.args.getFirst().op; + returnNode.token = returnNode.args.getFirst().token; + returnNode.range = returnNode.args.getFirst().range; + returnNode.args = returnNode.args.getFirst().args; if (scriptsDebugging) { CarpetScriptServer.LOG.info(" - Removed unnecessary tail return of " + returnNode.token.surface + " from function body at line " + (returnNode.token.lineno + 1) + ", node depth " + indent); @@ -1454,11 +1454,11 @@ private boolean optimizeTree(Context ctx, ExpressionNode node, Context.Type expe } else if (args.size() == 1) { - result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.get(0), null).evalValue(null, expectedType); + result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.getFirst(), null).evalValue(null, expectedType); } else // args == 2 { - result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.get(0), args.get(1)).evalValue(null, expectedType); + result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.getFirst(), args.get(1)).evalValue(null, expectedType); } node.op = LazyValue.ofConstant(result); if (scriptsDebugging) @@ -1492,14 +1492,14 @@ private LazyValue extractOp(Context ctx, ExpressionNode node, Context.Type expec { ILazyOperator op = operators.get(token.surface); Context.Type requestedType = op.staticType(expectedType); - LazyValue arg = extractOp(ctx, node.args.get(0), requestedType); + LazyValue arg = extractOp(ctx, node.args.getFirst(), requestedType); return (c, t) -> op.lazyEval(c, t, this, token, arg, null).evalValue(c, t); } case OPERATOR: { ILazyOperator op = operators.get(token.surface); Context.Type requestedType = op.staticType(expectedType); - LazyValue arg = extractOp(ctx, node.args.get(0), requestedType); + LazyValue arg = extractOp(ctx, node.args.getFirst(), requestedType); LazyValue arh = extractOp(ctx, node.args.get(1), requestedType); return (c, t) -> op.lazyEval(c, t, this, token, arg, arh).evalValue(c, t); } @@ -1509,7 +1509,7 @@ private LazyValue extractOp(Context ctx, ExpressionNode node, Context.Type expec { ILazyFunction f = functions.get(token.surface); Context.Type requestedType = f.staticType(expectedType); - List params = node.args.stream().map(n -> extractOp(ctx, n, requestedType)).collect(Collectors.toList()); + List params = node.args.stream().map(n -> extractOp(ctx, n, requestedType)).toList(); return (c, t) -> f.lazyEval(c, t, this, token, params).evalValue(c, t); } case CONSTANT: diff --git a/src/main/java/carpet/script/Module.java b/src/main/java/carpet/script/Module.java index 30264e6b0c..aad8dd012d 100644 --- a/src/main/java/carpet/script/Module.java +++ b/src/main/java/carpet/script/Module.java @@ -26,7 +26,7 @@ public static Module fromPath(Path path) try { String name = path.getFileName().toString().replaceFirst("\\.scl?", "").toLowerCase(Locale.ROOT); - String code = new String(Files.readAllBytes(path), StandardCharsets.UTF_8); + String code = Files.readString(path); return new Module(name, code, library); } catch (IOException e) diff --git a/src/main/java/carpet/script/ScriptCommand.java b/src/main/java/carpet/script/ScriptCommand.java index e8bc716a4f..64ac5386ad 100644 --- a/src/main/java/carpet/script/ScriptCommand.java +++ b/src/main/java/carpet/script/ScriptCommand.java @@ -69,7 +69,7 @@ public static List suggestFunctions(ScriptHost host, String previous, St int maxLen = prefix.length() < 3 ? (prefix.length() * 2 + 1) : 1234; String eventPrefix = prefix.startsWith("__on_") ? prefix.substring(5) : null; List scarpetMatches = scarpetFunctions.stream(). - filter(s -> s.startsWith(prefix) && s.length() <= maxLen).map(s -> s + "(").collect(Collectors.toList()); + filter(s -> s.startsWith(prefix) && s.length() <= maxLen).map(s -> s + "(").toList(); scarpetMatches.addAll(APIFunctions.stream(). filter(s -> s.startsWith(prefix) && s.length() <= maxLen).map(s -> s + "(").toList()); // not that useful in commandline, more so in external scripts, so skipping here @@ -315,7 +315,7 @@ public static void register(CommandDispatcher dispatcher, Co executes(ScriptCommand::listEvents). then(literal("add_to"). then(argument("event", StringArgumentType.word()). - suggests((cc, bb) -> suggest(CarpetEventServer.Event.publicEvents(ss(cc)).stream().map(ev -> ev.name).collect(Collectors.toList()), bb)). + suggests((cc, bb) -> suggest(CarpetEventServer.Event.publicEvents(ss(cc)).stream().map(ev -> ev.name).toList(), bb)). then(argument("call", StringArgumentType.word()). suggests((cc, bb) -> suggest(suggestFunctionCalls(cc), bb)). executes((cc) -> ss(cc).events.addEventFromCommand( @@ -337,7 +337,7 @@ public static void register(CommandDispatcher dispatcher, Co ) ? 1 : 0)))))). then(literal("remove_from"). then(argument("event", StringArgumentType.word()). - suggests((cc, bb) -> suggest(CarpetEventServer.Event.publicEvents(ss(cc)).stream().filter(CarpetEventServer.Event::isNeeded).map(ev -> ev.name).collect(Collectors.toList()), bb)). + suggests((cc, bb) -> suggest(CarpetEventServer.Event.publicEvents(ss(cc)).stream().filter(CarpetEventServer.Event::isNeeded).map(ev -> ev.name).toList(), bb)). then(argument("call", StringArgumentType.greedyString()). suggests((cc, bb) -> suggest(CarpetEventServer.Event.getEvent(StringArgumentType.getString(cc, "event"), ss(cc)).handler.inspectCurrentCalls().stream().map(CarpetEventServer.Callback::toString), bb)). executes((cc) -> ss(cc).events.removeEventFromCommand( @@ -391,7 +391,7 @@ private static CarpetScriptHost getHost(CommandContext conte private static Collection suggestFunctionCalls(CommandContext c) throws CommandSyntaxException { CarpetScriptHost host = getHost(c); - return host.globalFunctionNames(host.main, s -> !s.startsWith("_")).sorted().collect(Collectors.toList()); + return host.globalFunctionNames(host.main, s -> !s.startsWith("_")).sorted().toList(); } private static int listEvents(CommandContext context) diff --git a/src/main/java/carpet/script/Tokenizer.java b/src/main/java/carpet/script/Tokenizer.java index 90994f0069..f41d0008ac 100644 --- a/src/main/java/carpet/script/Tokenizer.java +++ b/src/main/java/carpet/script/Tokenizer.java @@ -56,12 +56,12 @@ public class Tokenizer implements Iterator public List postProcess() { Iterable iterable = () -> this; - List originalTokens = StreamSupport.stream(iterable.spliterator(), false).collect(Collectors.toList()); + List originalTokens = StreamSupport.stream(iterable.spliterator(), false).toList(); List cleanedTokens = new ArrayList<>(); Token last = null; while (!originalTokens.isEmpty()) { - Token current = originalTokens.remove(originalTokens.size() - 1); + Token current = originalTokens.removeLast(); if (current.type == Token.TokenType.MARKER && current.surface.startsWith("//")) { continue; diff --git a/src/main/java/carpet/script/api/Auxiliary.java b/src/main/java/carpet/script/api/Auxiliary.java index 8d917113ec..b335d55ecf 100644 --- a/src/main/java/carpet/script/api/Auxiliary.java +++ b/src/main/java/carpet/script/api/Auxiliary.java @@ -133,7 +133,7 @@ public static void apply(Expression expression) { return ListValue.wrap(cc.registry(Registries.SOUND_EVENT).holders().map(soundEventReference -> ValueConversions.of(soundEventReference.key().location()))); } - String rawString = lv.get(0).getString(); + String rawString = lv.getFirst().getString(); ResourceLocation soundName = InputValidator.identifierOf(rawString); Vector3Argument locator = Vector3Argument.findIn(lv, 1); @@ -181,7 +181,7 @@ public static void apply(Expression expression) MinecraftServer ms = cc.server(); ServerLevel world = cc.level(); Vector3Argument locator = Vector3Argument.findIn(lv, 1); - String particleName = lv.get(0).getString(); + String particleName = lv.getFirst().getString(); int count = 10; double speed = 0; float spread = 0.5f; @@ -226,7 +226,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; ServerLevel world = cc.level(); - String particleName = lv.get(0).getString(); + String particleName = lv.getFirst().getString(); ParticleOptions particle = ShapeDispatcher.getParticleData(particleName, world.registryAccess()); Vector3Argument pos1 = Vector3Argument.findIn(lv, 1); Vector3Argument pos2 = Vector3Argument.findIn(lv, pos1.offset); @@ -264,13 +264,13 @@ public static void apply(Expression expression) )); }); - expression.addContextFunction("item_display_name", 1, (c, t, lv) -> new FormattedTextValue(ValueConversions.getItemStackFromValue(lv.get(0), false, ((CarpetContext) c).registryAccess()).getHoverName())); + expression.addContextFunction("item_display_name", 1, (c, t, lv) -> new FormattedTextValue(ValueConversions.getItemStackFromValue(lv.getFirst(), false, ((CarpetContext) c).registryAccess()).getHoverName())); expression.addContextFunction("particle_box", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; ServerLevel world = cc.level(); - String particleName = lv.get(0).getString(); + String particleName = lv.getFirst().getString(); ParticleOptions particle = ShapeDispatcher.getParticleData(particleName, world.registryAccess()); Vector3Argument pos1 = Vector3Argument.findIn(lv, 1); Vector3Argument pos2 = Vector3Argument.findIn(lv, pos1.offset); @@ -325,7 +325,7 @@ public static void apply(Expression expression) List shapes = new ArrayList<>(); if (lv.size() == 1) // bulk { - Value specLoad = lv.get(0); + Value specLoad = lv.getFirst(); if (!(specLoad instanceof final ListValue spec)) { throw new InternalExpressionException("In bulk mode - shapes need to be provided as a list of shape specs"); @@ -359,7 +359,7 @@ public static void apply(Expression expression) Component name; try { - Value nameValue = lv.get(0); + Value nameValue = lv.getFirst(); name = nameValue.isNull() ? null : FormattedTextValue.getTextByValue(nameValue); pointLocator = Vector3Argument.findIn(lv, 1, true, false); if (lv.size() > pointLocator.offset) @@ -464,11 +464,11 @@ else if (!interactable && targetBlock == null) { return Value.TRUE; } - if (lv.get(0).isNull()) + if (lv.getFirst().isNull()) { return Value.FALSE; } - Tag source = ((NBTSerializableValue) (NBTSerializableValue.fromValue(lv.get(0)))).getTag(); + Tag source = ((NBTSerializableValue) (NBTSerializableValue.fromValue(lv.getFirst()))).getTag(); Tag match = ((NBTSerializableValue) (NBTSerializableValue.fromValue(lv.get(1)))).getTag(); return BooleanValue.of(NbtUtils.compareNbt(match, source, numParam == 2 || lv.get(2).getBoolean())); }); @@ -479,7 +479,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'encode_nbt' requires 1 or 2 parameters"); } - Value v = lv.get(0); + Value v = lv.getFirst(); boolean force = (argSize > 1) && lv.get(1).getBoolean(); Tag tag; try @@ -503,7 +503,7 @@ else if (!interactable && targetBlock == null) CarpetContext cc = (CarpetContext) c; CommandSourceStack s = cc.source(); MinecraftServer server = s.getServer(); - Value res = lv.get(0); + Value res = lv.getFirst(); List targets = null; if (lv.size() == 2) { @@ -542,7 +542,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'display_title' needs at least a target, type and message, and optionally times"); } - Value pVal = lv.get(0); + Value pVal = lv.getFirst(); if (!(pVal instanceof ListValue)) { pVal = ListValue.of(pVal); @@ -618,7 +618,7 @@ else if (!interactable && targetBlock == null) } AtomicInteger total = new AtomicInteger(0); - List targetList = targets.collect(Collectors.toList()); + List targetList = targets.toList(); if (!soundsTrue) // null or empty string { targetList.forEach(target -> { @@ -671,7 +671,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'format' requires at least one component"); } - if (values.get(0) instanceof final ListValue list && values.size() == 1) + if (values.getFirst() instanceof final ListValue list && values.size() == 1) { values = list.getItems(); } @@ -687,7 +687,7 @@ else if (!interactable && targetBlock == null) List output = new ArrayList<>(); s.getServer().getCommands().performPrefixedCommand( new SnoopyCommandSource(s, error, output), - lv.get(0).getString()); + lv.getFirst().getString()); return ListValue.of( NumericValue.ZERO, ListValue.wrap(output.stream().map(FormattedTextValue::new)), @@ -726,7 +726,7 @@ else if (!interactable && targetBlock == null) Value time = new NumericValue(((CarpetContext) c).level().getDayTime()); if (!lv.isEmpty()) { - long newTime = NumericValue.asNumber(lv.get(0)).getLong(); + long newTime = NumericValue.asNumber(lv.getFirst()).getLong(); if (newTime < 0) { newTime = 0; @@ -765,7 +765,7 @@ else if (!interactable && targetBlock == null) Vanilla.MinecraftServer_forceTick(server, () -> System.nanoTime() - scriptServer.tickStart < 50000000L); if (!lv.isEmpty()) { - long msTotal = NumericValue.asNumber(lv.get(0)).getLong(); + long msTotal = NumericValue.asNumber(lv.getFirst()).getLong(); long endExpected = scriptServer.tickStart + msTotal * 1000000L; long wait = endExpected - System.nanoTime(); if (wait > 0L) @@ -825,7 +825,7 @@ else if (!interactable && targetBlock == null) // lazy due to passthrough and context changing ability expression.addLazyFunction("in_dimension", 2, (c, t, lv) -> { CommandSourceStack outerSource = ((CarpetContext) c).source(); - Value dimensionValue = lv.get(0).evalValue(c); + Value dimensionValue = lv.getFirst().evalValue(c); Level world = ValueConversions.dimFromValue(dimensionValue, outerSource.getServer()); if (world == outerSource.getLevel()) { @@ -886,7 +886,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'schedule' should have at least 2 arguments, delay and call name"); } - long delay = NumericValue.asNumber(lv.get(0)).getLong(); + long delay = NumericValue.asNumber(lv.getFirst()).getLong(); FunctionArgument functionArgument = FunctionArgument.findIn(c, expression.module, lv, 1, false, false); ((CarpetScriptServer)c.host.scriptServer()).events.scheduleCall( @@ -904,12 +904,12 @@ else if (!interactable && targetBlock == null) if (lv.size() == 1) { - res = lv.get(0); + res = lv.getFirst(); CarpetScriptServer.LOG.info(res.getString()); } else if (lv.size() == 2) { - String level = lv.get(0).getString().toLowerCase(Locale.ROOT); + String level = lv.getFirst().getString().toLowerCase(Locale.ROOT); res = lv.get(1); switch (level) { @@ -1018,7 +1018,7 @@ else if (fdesc.type == FileArgument.Type.JSON) if (!lv.isEmpty()) { c.host.issueDeprecation("load_app_data(...) with arguments"); - String resource = recognizeResource(lv.get(0), false); + String resource = recognizeResource(lv.getFirst(), false); boolean shared = lv.size() > 1 && lv.get(1).getBoolean(); fdesc = new FileArgument(resource, FileArgument.Type.NBT, null, false, shared, FileArgument.Reason.READ, c.host); } @@ -1031,7 +1031,7 @@ else if (fdesc.type == FileArgument.Type.JSON) { throw new InternalExpressionException("'store_app_data' needs NBT tag and an optional file"); } - Value val = lv.get(0); + Value val = lv.getFirst(); FileArgument fdesc = new FileArgument(null, FileArgument.Type.NBT, null, false, false, FileArgument.Reason.CREATE, c.host); if (lv.size() > 1) { @@ -1049,7 +1049,7 @@ else if (fdesc.type == FileArgument.Type.JSON) expression.addContextFunction("statistic", 3, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; - ServerPlayer player = EntityValue.getPlayerByValue(cc.server(), lv.get(0)); + ServerPlayer player = EntityValue.getPlayerByValue(cc.server(), lv.getFirst()); if (player == null) { return Value.NULL; @@ -1078,7 +1078,7 @@ else if (fdesc.type == FileArgument.Type.JSON) { throw new InternalExpressionException("'handle_event' requires at least two arguments, event name, and a callback"); } - String event = lv.get(0).getString(); + String event = lv.getFirst().getString(); FunctionArgument callback = FunctionArgument.findIn(c, expression.module, lv, 1, true, false); CarpetScriptHost host = ((CarpetScriptHost) c.host); if (callback.function == null) @@ -1097,7 +1097,7 @@ else if (fdesc.type == FileArgument.Type.JSON) } CarpetContext cc = (CarpetContext) c; CarpetScriptServer server = ((CarpetScriptHost) c.host).scriptServer(); - String eventName = lv.get(0).getString(); + String eventName = lv.getFirst().getString(); // no such event yet if (CarpetEventServer.Event.getEvent(eventName, server) == null) { @@ -1135,7 +1135,7 @@ else if (fdesc.type == FileArgument.Type.JSON) { return ListValue.wrap(storage.keys().map(NBTSerializableValue::nameFromRegistryId)); } - String key = lv.get(0).getString(); + String key = lv.getFirst().getString(); CompoundTag oldNbt = storage.get(InputValidator.identifierOf(key)); if (lv.size() == 2) { @@ -1151,7 +1151,7 @@ else if (fdesc.type == FileArgument.Type.JSON) // script run create_datapack('foo', {'foo' -> {'bar.json' -> {'c' -> true,'d' -> false,'e' -> {'foo' -> [1,2,3]},'a' -> 'foobar','b' -> 5}}}) expression.addContextFunction("create_datapack", 2, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; - String origName = lv.get(0).getString(); + String origName = lv.getFirst().getString(); String name = InputValidator.validateSimpleString(origName, true); MinecraftServer server = cc.server(); for (String dpName : server.getPackRepository().getAvailableIds()) @@ -1202,7 +1202,7 @@ else if (fdesc.type == FileArgument.Type.JSON) resourcePackProfile.getDefaultPosition().insert(list, resourcePackProfile, Pack::selectionConfig, false); - server.reloadResources(list.stream().map(Pack::getId).collect(Collectors.toList())). + server.reloadResources(list.stream().map(Pack::getId).toList()). exceptionally(exc -> { successful[0] = false; return null; diff --git a/src/main/java/carpet/script/api/Entities.java b/src/main/java/carpet/script/api/Entities.java index 744f8c4338..3291d0fd18 100644 --- a/src/main/java/carpet/script/api/Entities.java +++ b/src/main/java/carpet/script/api/Entities.java @@ -76,7 +76,7 @@ public static void apply(Expression expression) Player closestPlayer = ((CarpetContext) c).level().getNearestPlayer(pos.x, pos.y, pos.z, -1.0, EntitySelector.ENTITY_STILL_ALIVE); return EntityValue.of(closestPlayer); } - String playerName = lv.get(0).getString(); + String playerName = lv.getFirst().getString(); return switch (playerName) { case "all" -> { @@ -106,7 +106,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'spawn' function takes mob name, and position to spawn"); } - String entityString = lv.get(0).getString(); + String entityString = lv.getFirst().getString(); ResourceLocation entityId; try { @@ -164,7 +164,7 @@ public static void apply(Expression expression) expression.addContextFunction("entity_id", 1, (c, t, lv) -> { - Value who = lv.get(0); + Value who = lv.getFirst(); if (who instanceof final NumericValue numericValue) { return EntityValue.of(((CarpetContext) c).level().getEntity((int) numericValue.getLong())); @@ -174,7 +174,7 @@ public static void apply(Expression expression) expression.addContextFunction("entity_list", 1, (c, t, lv) -> { - String who = lv.get(0).getString(); + String who = lv.getFirst().getString(); CommandSourceStack source = ((CarpetContext) c).source(); EntityValue.EntityClassDescriptor eDesc = EntityValue.getEntityDescriptor(who, source.getServer()); List entityList = source.getLevel().getEntities(eDesc.directType, eDesc.filteringPredicate); @@ -187,7 +187,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_area' requires entity type, center and range arguments"); } - String who = lv.get(0).getString(); + String who = lv.getFirst().getString(); CarpetContext cc = (CarpetContext) c; Vector3Argument centerLocator = Vector3Argument.findIn(lv, 1, false, true); @@ -219,7 +219,7 @@ public static void apply(Expression expression) expression.addContextFunction("entity_selector", -1, (c, t, lv) -> { - String selector = lv.get(0).getString(); + String selector = lv.getFirst().getString(); List retlist = new ArrayList<>(); for (Entity e : EntityValue.getEntitiesFromSelector(((CarpetContext) c).source(), selector)) { @@ -234,7 +234,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'query' takes entity as a first argument, and queried feature as a second"); } - Value v = lv.get(0); + Value v = lv.getFirst(); if (!(v instanceof final EntityValue ev)) { throw new InternalExpressionException("First argument to query should be an entity"); @@ -259,7 +259,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'modify' takes entity as a first argument, and queried feature as a second"); } - Value v = lv.get(0); + Value v = lv.getFirst(); if (!(v instanceof final EntityValue ev)) { throw new InternalExpressionException("First argument to modify should be an entity"); @@ -280,7 +280,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_types' requires one or no arguments"); } - String desc = (lv.size() == 1) ? lv.get(0).getString() : "*"; + String desc = (lv.size() == 1) ? lv.getFirst().getString() : "*"; return EntityValue.getEntityDescriptor(desc, ((CarpetContext) c).server()).listValue(((CarpetContext) c).registryAccess()); }); @@ -290,7 +290,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_load_handler' required the entity type, and a function to call"); } - Value entityValue = lv.get(0); + Value entityValue = lv.getFirst(); List descriptors = (entityValue instanceof final ListValue list) ? list.getItems().stream().map(Value::getString).toList() : Collections.singletonList(entityValue.getString()); @@ -327,7 +327,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_event' requires at least 3 arguments, entity, event to be handled, and function name, with optional arguments"); } - Value v = lv.get(0); + Value v = lv.getFirst(); if (!(v instanceof final EntityValue ev)) { throw new InternalExpressionException("First argument to entity_event should be an entity"); diff --git a/src/main/java/carpet/script/api/Inventories.java b/src/main/java/carpet/script/api/Inventories.java index 11bab7e735..45d41cd5c5 100644 --- a/src/main/java/carpet/script/api/Inventories.java +++ b/src/main/java/carpet/script/api/Inventories.java @@ -56,7 +56,7 @@ public class Inventories public static void apply(Expression expression) { expression.addContextFunction("stack_limit", 1, (c, t, lv) -> - new NumericValue(NBTSerializableValue.parseItem(lv.get(0).getString(), ((CarpetContext) c).registryAccess()).getMaxStackSize())); + new NumericValue(NBTSerializableValue.parseItem(lv.getFirst().getString(), ((CarpetContext) c).registryAccess()).getMaxStackSize())); expression.addContextFunction("item_category", -1, (c, t, lv) -> { c.host.issueDeprecation("item_category in 1.19.3+"); @@ -71,7 +71,7 @@ public static void apply(Expression expression) { return ListValue.wrap(items.holders().map(itemReference -> ValueConversions.of(itemReference.key().location()))); } - String tag = lv.get(0).getString(); + String tag = lv.getFirst().getString(); Optional> itemTag = items.getTag(TagKey.create(Registries.ITEM, InputValidator.identifierOf(tag))); return itemTag.isEmpty() ? Value.NULL : ListValue.wrap(itemTag.get().stream().map(b -> items.getKey(b.value())).filter(Objects::nonNull).map(ValueConversions::of)); }); @@ -85,7 +85,7 @@ public static void apply(Expression expression) { return ListValue.wrap(blocks.getTagNames().map(ValueConversions::of)); } - Item item = NBTSerializableValue.parseItem(lv.get(0).getString(), cc.registryAccess()).getItem(); + Item item = NBTSerializableValue.parseItem(lv.getFirst().getString(), cc.registryAccess()).getItem(); if (lv.size() == 1) { return ListValue.wrap(blocks.getTags().filter(e -> e.getSecond().stream().anyMatch(h -> (h.value() == item))).map(e -> ValueConversions.of(e.getFirst()))); @@ -102,7 +102,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'recipe_data' requires at least one argument"); } - String recipeName = lv.get(0).getString(); + String recipeName = lv.getFirst().getString(); RecipeType type = RecipeType.CRAFTING; if (lv.size() > 1) { @@ -128,15 +128,17 @@ public static void apply(Expression expression) // I am flattening ingredient lists per slot. // consider recipe_data('wooden_sword','crafting') and ('iron_nugget', 'blasting') and notice difference // in depths of lists. - List> stacks = Vanilla.Ingredient_getRecipeStacks(ingredient); - if (stacks.isEmpty()) + ItemStack[] items = ingredient.getItems(); + if (items.length == 0) { ingredientValue.add(Value.NULL); } else { List alternatives = new ArrayList<>(); - stacks.forEach(col -> col.stream().map(is -> ValueConversions.of(is, regs)).forEach(alternatives::add)); + for (ItemStack item : items) { + alternatives.add(ValueConversions.of(item, regs)); + } ingredientValue.add(ListValue.wrap(alternatives)); } }); @@ -181,7 +183,7 @@ else if (recipe instanceof CustomRecipe) expression.addContextFunction("crafting_remaining_item", 1, (c, t, v) -> { - String itemStr = v.get(0).getString(); + String itemStr = v.getFirst().getString(); ResourceLocation id = InputValidator.identifierOf(itemStr); Registry registry = ((CarpetContext) c).registry(Registries.ITEM); Item item = registry.getOptional(id).orElseThrow(() -> new ThrowStatement(itemStr, Throwables.UNKNOWN_ITEM)); @@ -458,7 +460,7 @@ else if (owner instanceof LivingEntity livingEntity) { throw new InternalExpressionException("'create_screen' requires at least three arguments"); } - Value playerValue = lv.get(0); + Value playerValue = lv.getFirst(); ServerPlayer player = EntityValue.getPlayerByValue(((CarpetContext) c).server(), playerValue); if (player == null) { @@ -477,7 +479,7 @@ else if (owner instanceof LivingEntity livingEntity) expression.addContextFunction("close_screen", 1, (c, t, lv) -> { - Value value = lv.get(0); + Value value = lv.getFirst(); if (!(value instanceof ScreenValue screenValue)) { throw new InternalExpressionException("'close_screen' requires a screen value as the first argument."); @@ -496,7 +498,7 @@ else if (owner instanceof LivingEntity livingEntity) { throw new InternalExpressionException("'screen_property' requires at least a screen and a property name"); } - if (!(lv.get(0) instanceof ScreenValue screenValue)) + if (!(lv.getFirst() instanceof ScreenValue screenValue)) { throw new InternalExpressionException("'screen_property' requires a screen value as the first argument"); } diff --git a/src/main/java/carpet/script/api/Monitoring.java b/src/main/java/carpet/script/api/Monitoring.java index 5f232af020..76a274a9ca 100644 --- a/src/main/java/carpet/script/api/Monitoring.java +++ b/src/main/java/carpet/script/api/Monitoring.java @@ -37,7 +37,7 @@ public static void apply(Expression expression) } if (lv.size() == 1) { - String what = lv.get(0).getString(); + String what = lv.getFirst().getString(); Value res = SystemInfo.get(what, (CarpetContext) c); if (res == null) { @@ -74,7 +74,7 @@ public static void apply(Expression expression) } return MapValue.wrap(retDict); } - String catString = lv.get(0).getString(); + String catString = lv.getFirst().getString(); MobCategory cat = MOB_CATEGORY_MAP.get(catString.toLowerCase(Locale.ROOT)); if (cat == null) { diff --git a/src/main/java/carpet/script/api/Scoreboards.java b/src/main/java/carpet/script/api/Scoreboards.java index cd282d7e88..5c63e277cb 100644 --- a/src/main/java/carpet/script/api/Scoreboards.java +++ b/src/main/java/carpet/script/api/Scoreboards.java @@ -57,7 +57,7 @@ public static void apply(Expression expression) { return ListValue.wrap(scoreboard.getObjectiveNames().stream().map(StringValue::new)); } - String objectiveName = lv.get(0).getString(); + String objectiveName = lv.getFirst().getString(); Objective objective = scoreboard.getObjective(objectiveName); if (objective == null) { @@ -100,7 +100,7 @@ public static void apply(Expression expression) } CarpetContext cc = (CarpetContext) c; Scoreboard scoreboard = cc.server().getScoreboard(); - String objectiveName = lv.get(0).getString(); + String objectiveName = lv.getFirst().getString(); Objective objective = scoreboard.getObjective(objectiveName); if (objective == null) { @@ -133,7 +133,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'scoreboard_add' should have one or two parameters"); } - String objectiveName = lv.get(0).getString(); + String objectiveName = lv.getFirst().getString(); ObjectiveCriteria criterion; if (lv.size() == 1) { @@ -179,7 +179,7 @@ public static void apply(Expression expression) } CarpetContext cc = (CarpetContext) c; Scoreboard scoreboard = cc.server().getScoreboard(); - Objective objective = scoreboard.getObjective(lv.get(0).getString()); + Objective objective = scoreboard.getObjective(lv.getFirst().getString()); if (objective == null) { return Value.NULL; @@ -269,7 +269,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; Scoreboard scoreboard = cc.server().getScoreboard(); - String location = lv.get(0).getString(); + String location = lv.getFirst().getString(); DisplaySlot slot = DisplaySlot.CODEC.byName(location); if (slot == null) { @@ -307,7 +307,7 @@ public static void apply(Expression expression) { return Value.NULL; } - PlayerTeam team = scoreboard.getPlayerTeam(lv.get(0).getString()); + PlayerTeam team = scoreboard.getPlayerTeam(lv.getFirst().getString()); return team == null ? Value.NULL : ListValue.wrap(team.getPlayers().stream().map(StringValue::of)); }); @@ -321,7 +321,7 @@ public static void apply(Expression expression) CarpetContext cc = (CarpetContext) c; ServerScoreboard scoreboard = cc.server().getScoreboard(); - String teamName = lv.get(0).getString(); + String teamName = lv.getFirst().getString(); if (lv.size() == 1) { @@ -359,7 +359,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; ServerScoreboard scoreboard = cc.server().getScoreboard(); - Value teamVal = lv.get(0); + Value teamVal = lv.getFirst(); PlayerTeam team = scoreboard.getPlayerTeam(teamVal.getString()); if (team == null) { @@ -374,7 +374,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; ServerScoreboard scoreboard = cc.server().getScoreboard(); - Value playerVal = lv.get(0); + Value playerVal = lv.getFirst(); String player = EntityValue.getPlayerNameByValue(playerVal); return player == null ? Value.NULL : BooleanValue.of(scoreboard.removePlayerFromTeam(player)); }); @@ -387,7 +387,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'team_property' requires two or three arguments"); } - Value teamVal = lv.get(0); + Value teamVal = lv.getFirst(); Value propertyVal = lv.get(1); Value settingVal = null; @@ -548,7 +548,7 @@ public static void apply(Expression expression) return ListValue.wrap(bossBarManager.getEvents().stream().map(CustomBossEvent::getTextId).map(ResourceLocation::toString).map(StringValue::of)); } - String id = lv.get(0).getString(); + String id = lv.getFirst().getString(); ResourceLocation identifier = InputValidator.identifierOf(id); if (lv.size() == 1) diff --git a/src/main/java/carpet/script/api/Threading.java b/src/main/java/carpet/script/api/Threading.java index 504838c6e3..71dd30a4b1 100644 --- a/src/main/java/carpet/script/api/Threading.java +++ b/src/main/java/carpet/script/api/Threading.java @@ -20,7 +20,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'task_join' cannot be called from main thread to avoid deadlocks"); } - Value v = lv.get(0); + Value v = lv.getFirst(); if (!(v instanceof final ThreadValue tv)) { throw new InternalExpressionException("'task_join' could only be used with a task value"); @@ -34,7 +34,7 @@ public static void apply(Expression expression) MinecraftServer server = cc.server(); if (server.isSameThread()) { - return lv.get(0); // pass through for on thread tasks + return lv.getFirst(); // pass through for on thread tasks } Value[] result = new Value[]{Value.NULL}; RuntimeException[] internal = new RuntimeException[]{null}; @@ -44,7 +44,7 @@ public static void apply(Expression expression) { try { - result[0] = lv.get(0).evalValue(c, t); + result[0] = lv.getFirst().evalValue(c, t); } catch (ExpressionException exc) { diff --git a/src/main/java/carpet/script/api/WorldAccess.java b/src/main/java/carpet/script/api/WorldAccess.java index 20af32390a..c1dc36a618 100644 --- a/src/main/java/carpet/script/api/WorldAccess.java +++ b/src/main/java/carpet/script/api/WorldAccess.java @@ -28,7 +28,6 @@ import carpet.script.value.Value; import carpet.script.value.ValueConversions; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; import it.unimi.dsi.fastutil.longs.LongSet; import net.minecraft.Util; @@ -79,9 +78,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import net.minecraft.commands.arguments.item.ItemInput; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.Tag; import net.minecraft.network.protocol.game.ClientboundExplodePacket; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundSource; @@ -167,7 +164,7 @@ private static Value booleanStateTest( { throw new InternalExpressionException("'" + name + "' requires at least one parameter"); } - if (params.get(0) instanceof final BlockValue bv) + if (params.getFirst() instanceof final BlockValue bv) { return BooleanValue.of(test.test(bv.getBlockState(), bv.getPos())); } @@ -187,7 +184,7 @@ private static Value stateStringQuery( { throw new InternalExpressionException("'" + name + "' requires at least one parameter"); } - if (params.get(0) instanceof final BlockValue bv) + if (params.getFirst() instanceof final BlockValue bv) { return StringValue.of(test.apply(bv.getBlockState(), bv.getPos())); } @@ -207,7 +204,7 @@ private static Value genericStateTest( { throw new InternalExpressionException("'" + name + "' requires at least one parameter"); } - if (params.get(0) instanceof final BlockValue bv) + if (params.getFirst() instanceof final BlockValue bv) { try { @@ -442,7 +439,7 @@ else if (!("any".equals(statusString))) return new StringValue(world.isThundering() ? "thunder" : (world.isRaining() ? "rain" : "clear")); } - Value weather = lv.get(0); + Value weather = lv.getFirst(); ServerLevelData worldProperties = Vanilla.ServerLevel_getWorldProperties(world); if (lv.size() == 1) { @@ -580,7 +577,7 @@ else if (!("any".equals(statusString))) expression.addContextFunction("top", -1, (c, t, lv) -> { - String type = lv.get(0).getString().toLowerCase(Locale.ROOT); + String type = lv.getFirst().getString().toLowerCase(Locale.ROOT); Heightmap.Types htype = switch (type) { //case "light": htype = Heightmap.Type.LIGHT_BLOCKING; break; //investigate @@ -723,7 +720,7 @@ else if (!("any".equals(statusString))) { if (Carpet.getImpendingFillSkipUpdates().get()) { - return lv.get(0); + return lv.getFirst(); } Value[] result = new Value[]{Value.NULL}; ((CarpetContext) c).server().executeBlocking(() -> @@ -733,7 +730,7 @@ else if (!("any".equals(statusString))) try { skipUpdates.set(true); - result[0] = lv.get(0).evalValue(c, t); + result[0] = lv.getFirst().evalValue(c, t); } finally { @@ -759,7 +756,7 @@ else if (!("any".equals(statusString))) { args.add(lv.get(i)); } - if (args.get(0) instanceof final ListValue list) + if (args.getFirst() instanceof final ListValue list) { if (args.size() == 2 && NBTSerializableValue.fromValue(args.get(1)) instanceof final NBTSerializableValue nbtsv) { @@ -767,7 +764,7 @@ else if (!("any".equals(statusString))) } args = list.getItems(); } - else if (args.get(0) instanceof final MapValue map) + else if (args.getFirst() instanceof final MapValue map) { if (args.size() == 2 && NBTSerializableValue.fromValue(args.get(1)) instanceof final NBTSerializableValue nbtsv) { @@ -967,7 +964,7 @@ else if (item instanceof TridentItem || item instanceof SwordItem) } CarpetContext cc = (CarpetContext) c; Level world = cc.level(); - Value entityValue = lv.get(0); + Value entityValue = lv.getFirst(); if (!(entityValue instanceof final EntityValue ev)) { return Value.FALSE; @@ -1108,7 +1105,7 @@ LivingEntity getIndirectSourceEntity() throw new InternalExpressionException("'place_item' takes at least 2 parameters: item and block, or position, to place onto"); } CarpetContext cc = (CarpetContext) c; - String itemString = lv.get(0).getString(); + String itemString = lv.getFirst().getString(); Vector3Argument locator = Vector3Argument.findIn(lv, 1); ItemStack stackArg = NBTSerializableValue.parseItem(itemString, cc.registryAccess()); BlockPos where = BlockPos.containing(locator.vec); @@ -1228,7 +1225,7 @@ LivingEntity getIndirectSourceEntity() { return ListValue.wrap(blocks.holders().map(blockReference -> ValueConversions.of(blockReference.key().location()))); } - ResourceLocation tag = InputValidator.identifierOf(lv.get(0).getString()); + ResourceLocation tag = InputValidator.identifierOf(lv.getFirst().getString()); Optional> tagset = blocks.getTag(TagKey.create(Registries.BLOCK, tag)); return tagset.isEmpty() ? Value.NULL : ListValue.wrap(tagset.get().stream().map(b -> ValueConversions.of(blocks.getKey(b.value())))); }); @@ -1263,7 +1260,7 @@ LivingEntity getIndirectSourceEntity() Biome biome; BiomeSource biomeSource = world.getChunkSource().getGenerator().getBiomeSource(); if (lv.size() == 1 - && lv.get(0) instanceof final MapValue map + && lv.getFirst() instanceof final MapValue map && biomeSource instanceof final MultiNoiseBiomeSource mnbs ) { @@ -1464,7 +1461,7 @@ LivingEntity getIndirectSourceEntity() } if (singleOutput) { - StructureStart start = FeatureGenerator.shouldStructureStartAt(world, pos, structure.get(0), needSize); + StructureStart start = FeatureGenerator.shouldStructureStartAt(world, pos, structure.getFirst(), needSize); return start == null ? Value.NULL : !needSize ? Value.TRUE : ValueConversions.of(start, cc.registryAccess()); } Map ret = new HashMap<>(); @@ -1591,7 +1588,7 @@ LivingEntity getIndirectSourceEntity() if (lv.size() == 1) { //either one block or list of chunks - Value first = lv.get(0); + Value first = lv.getFirst(); if (first instanceof final ListValue list) { List listVal = list.getItems(); diff --git a/src/main/java/carpet/script/argument/FileArgument.java b/src/main/java/carpet/script/argument/FileArgument.java index f4853a5a03..e172cf5d4e 100644 --- a/src/main/java/carpet/script/argument/FileArgument.java +++ b/src/main/java/carpet/script/argument/FileArgument.java @@ -138,7 +138,7 @@ public static FileArgument from(Context context, List lv, boolean isFolde { throw new InternalExpressionException("Unsupported file type: " + origtype); } - Pair resource = recognizeResource(lv.get(0).getString(), isFolder, type); + Pair resource = recognizeResource(lv.getFirst().getString(), isFolder, type); if (type == Type.FOLDER && !isFolder) { throw new InternalExpressionException("Folder types are no supported for this IO function"); diff --git a/src/main/java/carpet/script/argument/FunctionArgument.java b/src/main/java/carpet/script/argument/FunctionArgument.java index b30f2f5606..33ecfc4fa8 100644 --- a/src/main/java/carpet/script/argument/FunctionArgument.java +++ b/src/main/java/carpet/script/argument/FunctionArgument.java @@ -95,7 +95,7 @@ public static FunctionArgument fromCommandSpec(ScriptHost host, Value funSpec) t { throw CommandArgument.error("Function has empty spec"); } - Value first = params.get(0); + Value first = params.getFirst(); if (first instanceof FunctionValue) { function = (FunctionValue) first; diff --git a/src/main/java/carpet/script/argument/Vector3Argument.java b/src/main/java/carpet/script/argument/Vector3Argument.java index 6f475f44a1..83d9fe8313 100644 --- a/src/main/java/carpet/script/argument/Vector3Argument.java +++ b/src/main/java/carpet/script/argument/Vector3Argument.java @@ -81,7 +81,7 @@ public static Vector3Argument findIn(Iterator params, int offset, boolean { List args = ((ListValue) v1).getItems(); Vec3 pos = new Vec3( - NumericValue.asNumber(args.get(0)).getDouble(), + NumericValue.asNumber(args.getFirst()).getDouble(), NumericValue.asNumber(args.get(1)).getDouble(), NumericValue.asNumber(args.get(2)).getDouble()); double yaw = 0.0D; diff --git a/src/main/java/carpet/script/command/CommandArgument.java b/src/main/java/carpet/script/command/CommandArgument.java index c34b54c76b..b0f95171aa 100644 --- a/src/main/java/carpet/script/command/CommandArgument.java +++ b/src/main/java/carpet/script/command/CommandArgument.java @@ -285,7 +285,7 @@ public static CommandSyntaxException error(String text) public static final Map builtIns = baseTypes.stream().collect(Collectors.toMap(CommandArgument::getTypeSuffix, a -> a)); - public static final CommandArgument DEFAULT = baseTypes.get(0); + public static final CommandArgument DEFAULT = baseTypes.getFirst(); public static CommandArgument getTypeForArgument(String argument, CarpetScriptHost host) { @@ -423,7 +423,7 @@ public CompletableFuture suggest( protected List suggestFor(CommandContext context, String prefix, CarpetScriptHost host) throws CommandSyntaxException { - return getOptions(context, host).stream().filter(s -> optionMatchesPrefix(prefix, s)).collect(Collectors.toList()); + return getOptions(context, host).stream().filter(s -> optionMatchesPrefix(prefix, s)).toList(); } protected Collection getOptions(CommandContext context, CarpetScriptHost host) throws CommandSyntaxException @@ -448,7 +448,7 @@ protected Collection getOptions(CommandContext conte { throw error("Custom suggester should return a list of options" + " for custom type " + suffix); } - Collection res = ((ListValue) response).getItems().stream().map(Value::getString).collect(Collectors.toList()); + Collection res = ((ListValue) response).getItems().stream().map(Value::getString).toList(); currentSection.run(); return res; } diff --git a/src/main/java/carpet/script/external/Vanilla.java b/src/main/java/carpet/script/external/Vanilla.java index 75ee9ab952..ca67015d22 100644 --- a/src/main/java/carpet/script/external/Vanilla.java +++ b/src/main/java/carpet/script/external/Vanilla.java @@ -7,7 +7,6 @@ import carpet.fakes.ChunkTicketManagerInterface; import carpet.fakes.CommandDispatcherInterface; import carpet.fakes.EntityInterface; -import carpet.fakes.IngredientInterface; import carpet.fakes.InventoryBearerInterface; import carpet.fakes.ItemEntityInterface; import carpet.fakes.LivingEntityInterface; @@ -63,8 +62,6 @@ import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.DataSlot; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.item.crafting.RecipeType; @@ -84,7 +81,6 @@ import net.minecraft.world.scores.Scoreboard; import net.minecraft.world.scores.criteria.ObjectiveCriteria; -import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -108,11 +104,6 @@ public static Map ChunkMap_regenerateChunkRegion(ChunkMap chunk return ((ThreadedAnvilChunkStorageInterface) chunkMap).regenerateChunkRegion(requestedChunks); } - public static List> Ingredient_getRecipeStacks(Ingredient ingredient) - { - return ((IngredientInterface) (Object) ingredient).getRecipeStacks(); - } - public static List> RecipeManager_getAllMatching(RecipeManager recipeManager, RecipeType type, ResourceLocation output, RegistryAccess registryAccess) { return ((RecipeManagerInterface) recipeManager).getAllMatching(type, output, registryAccess); diff --git a/src/main/java/carpet/script/language/Arithmetic.java b/src/main/java/carpet/script/language/Arithmetic.java index ca649abe98..3d8bab1ceb 100644 --- a/src/main/java/carpet/script/language/Arithmetic.java +++ b/src/main/java/carpet/script/language/Arithmetic.java @@ -15,7 +15,7 @@ public class Arithmetic public static void apply(Expression expression) { - expression.addTypedContextFunction("not", 1, Context.Type.BOOLEAN, (c, t, lv) -> BooleanValue.of(lv.get(0).getBoolean())); + expression.addTypedContextFunction("not", 1, Context.Type.BOOLEAN, (c, t, lv) -> BooleanValue.of(lv.getFirst().getBoolean())); expression.addUnaryFunction("fact", v -> { long number = NumericValue.asNumber(v).getLong(); @@ -82,7 +82,7 @@ else if (number > 170) expression.addMathematicalUnaryIntFunction("ceil", n -> (long) Math.ceil(n)); expression.addContextFunction("mandelbrot", 3, (c, t, lv) -> { - double a0 = NumericValue.asNumber(lv.get(0)).getDouble(); + double a0 = NumericValue.asNumber(lv.getFirst()).getDouble(); double b0 = NumericValue.asNumber(lv.get(1)).getDouble(); long maxiter = NumericValue.asNumber(lv.get(2)).getLong(); double a = 0.0D; @@ -106,9 +106,9 @@ else if (number > 170) throw new InternalExpressionException("'max' requires at least one parameter"); } Value max = null; - if (lv.size() == 1 && lv.get(0) instanceof ListValue) + if (lv.size() == 1 && lv.getFirst() instanceof ListValue) { - lv = ((ListValue) lv.get(0)).getItems(); + lv = ((ListValue) lv.getFirst()).getItems(); } for (Value parameter : lv) { @@ -127,9 +127,9 @@ else if (number > 170) throw new InternalExpressionException("'min' requires at least one parameter"); } Value min = null; - if (lv.size() == 1 && lv.get(0) instanceof ListValue) + if (lv.size() == 1 && lv.getFirst() instanceof ListValue) { - lv = ((ListValue) lv.get(0)).getItems(); + lv = ((ListValue) lv.getFirst()).getItems(); } for (Value parameter : lv) { diff --git a/src/main/java/carpet/script/language/ControlFlow.java b/src/main/java/carpet/script/language/ControlFlow.java index d96d1209ea..437daee781 100644 --- a/src/main/java/carpet/script/language/ControlFlow.java +++ b/src/main/java/carpet/script/language/ControlFlow.java @@ -58,14 +58,14 @@ public static void apply(Expression expression) // public just to get the javado } if (lv.size() % 2 == 1) { - Value ret = lv.get(lv.size() - 1).evalValue(c, t); + Value ret = lv.getLast().evalValue(c, t); return (cc, tt) -> ret; } return (cc, tt) -> Value.NULL; }); expression.addImpureFunction("exit", lv -> { - throw new ExitStatement(lv.isEmpty() ? Value.NULL : lv.get(0)); + throw new ExitStatement(lv.isEmpty() ? Value.NULL : lv.getFirst()); }); expression.addImpureFunction("throw", lv -> @@ -75,7 +75,7 @@ public static void apply(Expression expression) // public just to get the javado case 0 -> throw new ThrowStatement(Value.NULL, Throwables.USER_DEFINED); case 1 -> throw new ThrowStatement(lv.get(0), Throwables.USER_DEFINED); case 2 -> throw new ThrowStatement(lv.get(1), Throwables.getTypeForException(lv.get(0).getString())); - case 3 -> throw new ThrowStatement(lv.get(2), Throwables.getTypeForException(lv.get(1).getString()), lv.get(0).getString()); + case 3 -> throw new ThrowStatement(lv.get(2), Throwables.getTypeForException(lv.get(1).getString()), lv.getFirst().getString()); default -> throw new InternalExpressionException("throw() can't accept more than 3 parameters"); } }); @@ -89,7 +89,7 @@ public static void apply(Expression expression) // public just to get the javado } try { - Value retval = lv.get(0).evalValue(c, t); + Value retval = lv.getFirst().evalValue(c, t); return (ct, tt) -> retval; } catch (ProcessedThrowStatement ret) diff --git a/src/main/java/carpet/script/language/DataStructures.java b/src/main/java/carpet/script/language/DataStructures.java index 24adb64284..946c9033f3 100644 --- a/src/main/java/carpet/script/language/DataStructures.java +++ b/src/main/java/carpet/script/language/DataStructures.java @@ -30,7 +30,7 @@ public class DataStructures public static void apply(Expression expression) { expression.addFunction("l", lv -> - lv.size() == 1 && lv.get(0) instanceof final LazyListValue llv + lv.size() == 1 && lv.getFirst() instanceof final LazyListValue llv ? ListValue.wrap(llv.unroll()) : new ListValue.ListConstructorValue(lv)); @@ -40,7 +40,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'join' takes at least 2 arguments"); } - String delimiter = lv.get(0).getString(); + String delimiter = lv.getFirst().getString(); List toJoin; if (lv.size() == 2 && lv.get(1) instanceof final LazyListValue llv) { @@ -63,12 +63,12 @@ else if (lv.size() == 2 && lv.get(1) instanceof final ListValue llv) Value hwat; if (lv.size() == 1) { - hwat = lv.get(0); + hwat = lv.getFirst(); delimiter = null; } else if (lv.size() == 2) { - delimiter = lv.get(0); + delimiter = lv.getFirst(); hwat = lv.get(1); } else @@ -84,7 +84,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("'slice' takes 2 or 3 arguments"); } - Value hwat = lv.get(0); + Value hwat = lv.getFirst(); long from = NumericValue.asNumber(lv.get(1)).getLong(); Long to = null; if (lv.size() == 3) @@ -97,7 +97,7 @@ else if (lv.size() == 2) expression.addFunction("sort", lv -> { List toSort = lv; - if (lv.size() == 1 && lv.get(0) instanceof final ListValue llv) + if (lv.size() == 1 && lv.getFirst() instanceof final ListValue llv) { toSort = new ArrayList<>(llv.getItems()); } @@ -112,7 +112,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("First argument for 'sort_key' should be a List"); } - Value v = lv.get(0).evalValue(c); + Value v = lv.getFirst().evalValue(c); if (!(v instanceof final ListValue list)) { throw new InternalExpressionException("First argument for 'sort_key' should be a List"); @@ -150,7 +150,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("'range' accepts from 1 to 3 arguments, not " + argsize); } - to = NumericValue.asNumber(lv.get(0)); + to = NumericValue.asNumber(lv.getFirst()); if (lv.size() > 1) { from = to; @@ -166,7 +166,7 @@ else if (lv.size() == 2) }); expression.addTypedContextFunction("m", -1, Context.MAPDEF, (c, t, lv) -> - lv.size() == 1 && lv.get(0) instanceof final LazyListValue llv + lv.size() == 1 && lv.getFirst() instanceof final LazyListValue llv ? new MapValue(llv.unroll()) : new MapValue(lv) ); @@ -217,7 +217,7 @@ else if (lv.size() == 2) } if (lv.size() == 1) { - Value v = lv.get(0).evalValue(c, Context.LVALUE); + Value v = lv.getFirst().evalValue(c, Context.LVALUE); if (!(v instanceof final LContainerValue lcv)) { return LazyValue.NULL; @@ -230,7 +230,7 @@ else if (lv.size() == 2) Value ret = container.get(lcv.address()); return (cc, tt) -> ret; } - Value container = lv.get(0).evalValue(c); + Value container = lv.getFirst().evalValue(c); for (int i = 1; i < lv.size(); i++) { if (!(container instanceof final ContainerValueInterface cvi)) @@ -256,7 +256,7 @@ else if (lv.size() == 2) } if (lv.size() == 1) { - Value v = lv.get(0).evalValue(c, Context.LVALUE); + Value v = lv.getFirst().evalValue(c, Context.LVALUE); if (!(v instanceof final LContainerValue lcv)) { return LazyValue.NULL; @@ -269,7 +269,7 @@ else if (lv.size() == 2) Value ret = BooleanValue.of(container.has(lcv.address())); return (cc, tt) -> ret; } - Value container = lv.get(0).evalValue(c); + Value container = lv.getFirst().evalValue(c); for (int i = 1; i < lv.size() - 1; i++) { if (!(container instanceof final ContainerValueInterface cvi)) @@ -293,7 +293,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("'put' takes at least three arguments, a container, address, and values to insert at that index"); } - Value container = lv.get(0).evalValue(c, Context.LVALUE); + Value container = lv.getFirst().evalValue(c, Context.LVALUE); if (container instanceof final LContainerValue lcv) { ContainerValueInterface internalContainer = lcv.container(); @@ -334,7 +334,7 @@ else if (lv.size() == 2) } if (lv.size() == 1) { - Value v = lv.get(0).evalValue(c, Context.LVALUE); + Value v = lv.getFirst().evalValue(c, Context.LVALUE); if (!(v instanceof final LContainerValue lcv)) { return LazyValue.NULL; @@ -347,7 +347,7 @@ else if (lv.size() == 2) Value ret = BooleanValue.of(container.delete(lcv.address())); return (cc, tt) -> ret; } - Value container = lv.get(0).evalValue(c); + Value container = lv.getFirst().evalValue(c); for (int i = 1; i < lv.size() - 1; i++) { if (!(container instanceof final ContainerValueInterface cvi)) diff --git a/src/main/java/carpet/script/language/Functions.java b/src/main/java/carpet/script/language/Functions.java index 8bc29712df..3482303ae7 100644 --- a/src/main/java/carpet/script/language/Functions.java +++ b/src/main/java/carpet/script/language/Functions.java @@ -30,7 +30,7 @@ public static void apply(Expression expression) // public just to get the javado { throw new InternalExpressionException("'import' needs at least a module name to import, and list of values to import"); } - String moduleName = lv.get(0).getString(); + String moduleName = lv.getFirst().getString(); c.host.importModule(c, moduleName); moduleName = moduleName.toLowerCase(Locale.ROOT); if (lv.size() > 1) @@ -60,7 +60,7 @@ public LazyValue lazyEval(Context c, Context.Type t, Expression expr, Tokenizer. return fun.callInContext(c, t, functionArgument.args); } // gimme signature - String name = lv.get(0).evalValue(c, Context.NONE).getString(); + String name = lv.getFirst().evalValue(c, Context.NONE).getString(); List args = new ArrayList<>(); List globals = new ArrayList<>(); String varArgs = null; @@ -121,7 +121,7 @@ public Context.Type staticType(Context.Type outerType) { throw new InternalExpressionException("Outer scoping of variables is only possible in function signatures."); } - return new FunctionAnnotationValue(lv.get(0), FunctionAnnotationValue.Type.GLOBAL); + return new FunctionAnnotationValue(lv.getFirst(), FunctionAnnotationValue.Type.GLOBAL); }); //assigns const procedure to the lhs, returning its previous value @@ -143,7 +143,7 @@ public Context.Type staticType(Context.Type outerType) }); expression.addImpureFunction("return", lv -> { - throw new ReturnStatement(lv.size() == 0 ? Value.NULL : lv.get(0)); + throw new ReturnStatement(lv.size() == 0 ? Value.NULL : lv.getFirst()); }); } } diff --git a/src/main/java/carpet/script/language/Loops.java b/src/main/java/carpet/script/language/Loops.java index 552325dfde..7302053a4f 100644 --- a/src/main/java/carpet/script/language/Loops.java +++ b/src/main/java/carpet/script/language/Loops.java @@ -30,7 +30,7 @@ public static void apply(Expression expression) } if (lv.size() == 1) { - throw new BreakStatement(lv.get(0)); + throw new BreakStatement(lv.getFirst()); } throw new InternalExpressionException("'break' can only be called with zero or one argument"); }); @@ -43,7 +43,7 @@ public static void apply(Expression expression) } if (lv.size() == 1) { - throw new ContinueStatement(lv.get(0)); + throw new ContinueStatement(lv.getFirst()); } throw new InternalExpressionException("'continue' can only be called with zero or one argument"); }); @@ -52,7 +52,7 @@ public static void apply(Expression expression) expression.addLazyFunction("while", -1, (c, t, lv) -> { if (lv.size() == 2) { // lets do nasty way so performance is not affected (might be super unnecessary, but hey) - LazyValue condition = lv.get(0); + LazyValue condition = lv.getFirst(); LazyValue expr = lv.get(1); long i = 0; Value lastOne = Value.NULL; @@ -86,7 +86,7 @@ public static void apply(Expression expression) return (cc, tt) -> lastValueNoKidding; } long limit = NumericValue.asNumber(lv.get(1).evalValue(c)).getLong(); - LazyValue condition = lv.get(0); + LazyValue condition = lv.getFirst(); LazyValue expr = lv.get(2); long i = 0; Value lastOne = Value.NULL; @@ -124,7 +124,7 @@ public static void apply(Expression expression) // expr receives bounded variable '_' indicating iteration expression.addLazyFunction("loop", 2, (c, t, lv) -> { - long limit = NumericValue.asNumber(lv.get(0).evalValue(c, Context.NONE)).getLong(); + long limit = NumericValue.asNumber(lv.getFirst().evalValue(c, Context.NONE)).getLong(); Value lastOne = Value.NULL; LazyValue expr = lv.get(1); //scoping @@ -159,7 +159,7 @@ public static void apply(Expression expression) // receives bounded variable '_' with the expression expression.addLazyFunction("map", 2, (c, t, lv) -> { - Value rval = lv.get(0).evalValue(c, Context.NONE); + Value rval = lv.getFirst().evalValue(c, Context.NONE); if (rval.isNull()) { return ListValue.lazyEmpty(); @@ -216,7 +216,7 @@ public static void apply(Expression expression) // produces list of values for which the expression is true expression.addLazyFunction("filter", 2, (c, t, lv) -> { - Value rval = lv.get(0).evalValue(c, Context.NONE); + Value rval = lv.getFirst().evalValue(c, Context.NONE); if (rval.isNull()) { return ListValue.lazyEmpty(); @@ -276,7 +276,7 @@ public static void apply(Expression expression) // returns first element on the list for which the expr is true expression.addLazyFunction("first", 2, (c, t, lv) -> { - Value rval = lv.get(0).evalValue(c, Context.NONE); + Value rval = lv.getFirst().evalValue(c, Context.NONE); if (rval.isNull()) { return LazyValue.NULL; @@ -336,7 +336,7 @@ public static void apply(Expression expression) // returns true if expr is true for all items expression.addLazyFunction("all", 2, (c, t, lv) -> { - Value rval = lv.get(0).evalValue(c, Context.NONE); + Value rval = lv.getFirst().evalValue(c, Context.NONE); if (rval.isNull()) { return LazyValue.TRUE; @@ -380,7 +380,7 @@ public static void apply(Expression expression) // runs traditional for(init, condition, increment, body) tri-argument for loop with body in between expression.addLazyFunction("c_for", 4, (c, t, lv) -> { - LazyValue initial = lv.get(0); + LazyValue initial = lv.getFirst(); LazyValue condition = lv.get(1); LazyValue increment = lv.get(2); LazyValue body = lv.get(3); @@ -409,7 +409,7 @@ public static void apply(Expression expression) // can be substituted for first and all, but first is more efficient and all doesn't require knowing list size expression.addLazyFunction("for", 2, (c, t, lv) -> { - Value rval = lv.get(0).evalValue(c, Context.NONE); + Value rval = lv.getFirst().evalValue(c, Context.NONE); if (rval.isNull()) { return LazyValue.ZERO; @@ -474,7 +474,7 @@ public static void apply(Expression expression) expression.addLazyFunction("reduce", 3, (c, t, lv) -> { - Value rval = lv.get(0).evalValue(c, Context.NONE); + Value rval = lv.getFirst().evalValue(c, Context.NONE); if (rval.isNull()) { return ListValue.lazyEmpty(); diff --git a/src/main/java/carpet/script/language/Operators.java b/src/main/java/carpet/script/language/Operators.java index a1c2d1a2d7..8efe34dd72 100644 --- a/src/main/java/carpet/script/language/Operators.java +++ b/src/main/java/carpet/script/language/Operators.java @@ -48,7 +48,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.get(0); + Value accumulator = lv.getFirst(); for (Value v : lv.subList(1, size)) { accumulator = accumulator.add(v); @@ -64,7 +64,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.get(0); + Value accumulator = lv.getFirst(); for (Value v : lv.subList(1, size)) { accumulator = accumulator.subtract(v); @@ -80,7 +80,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.get(0); + Value accumulator = lv.getFirst(); for (Value v : lv.subList(1, size)) { accumulator = accumulator.multiply(v); @@ -96,7 +96,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.get(0); + Value accumulator = lv.getFirst(); for (Value v : lv.subList(1, size)) { accumulator = accumulator.divide(v); @@ -116,7 +116,7 @@ public static void apply(Expression expression) { return Value.NULL; } - long accumulator = NumericValue.asNumber(lv.get(0)).getLong(); + long accumulator = NumericValue.asNumber(lv.getFirst()).getLong(); for (Value v : lv.subList(1, size)) { accumulator = accumulator & NumericValue.asNumber(v).getLong(); @@ -130,7 +130,7 @@ public static void apply(Expression expression) { return Value.NULL; } - long accumulator = NumericValue.asNumber(lv.get(0)).getLong(); + long accumulator = NumericValue.asNumber(lv.getFirst()).getLong(); for (Value v : lv.subList(1, size)) { accumulator = accumulator ^ NumericValue.asNumber(v).getLong(); @@ -144,7 +144,7 @@ public static void apply(Expression expression) { return Value.NULL; } - long accumulator = NumericValue.asNumber(lv.get(0)).getLong(); + long accumulator = NumericValue.asNumber(lv.getFirst()).getLong(); for (Value v : lv.subList(1, size)) { accumulator = accumulator | NumericValue.asNumber(v).getLong(); @@ -238,7 +238,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.get(0); + Value prev = lv.getFirst(); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) <= 0) @@ -259,7 +259,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.get(0); + Value prev = lv.getFirst(); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) < 0) @@ -280,7 +280,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.get(0); + Value prev = lv.getFirst(); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) >= 0) @@ -301,7 +301,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.get(0); + Value prev = lv.getFirst(); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) > 0) @@ -334,7 +334,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.get(0); + Value prev = lv.getFirst(); for (Value next : lv.subList(1, size)) { if (!prev.equals(next)) @@ -356,7 +356,7 @@ public static void apply(Expression expression) } // need to order them so same obejects will be next to each other. lv.sort(Comparator.comparingInt(Value::hashCode)); - Value prev = lv.get(0); + Value prev = lv.getFirst(); for (Value next : lv.subList(1, size)) { if (prev.equals(next)) diff --git a/src/main/java/carpet/script/language/Sys.java b/src/main/java/carpet/script/language/Sys.java index 31d13c7d5a..5afa920871 100644 --- a/src/main/java/carpet/script/language/Sys.java +++ b/src/main/java/carpet/script/language/Sys.java @@ -39,7 +39,7 @@ public static void apply(Expression expression) expression.addTypedContextFunction("bool", 1, Context.BOOLEAN, (c, t, lv) -> { - Value v = lv.get(0); + Value v = lv.getFirst(); if (v instanceof StringValue) { String str = v.getString().toLowerCase(Locale.ROOT); @@ -77,7 +77,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'str' requires at least one argument"); } - String format = lv.get(0).getString(); + String format = lv.getFirst().getString(); if (lv.size() == 1) { return new StringValue(format); @@ -173,7 +173,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'replace' expects string to read, pattern regex, and optional replacement string"); } - String data = lv.get(0).getString(); + String data = lv.getFirst().getString(); String regex = lv.get(1).getString(); String replacement = ""; if (lv.size() == 3) @@ -196,7 +196,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'replace_first' expects string to read, pattern regex, and optional replacement string"); } - String data = lv.get(0).getString(); + String data = lv.getFirst().getString(); String regex = lv.get(1).getString(); String replacement = ""; if (lv.size() == 3) @@ -220,7 +220,7 @@ else if (fmt != '%') { randomizer = c.host.getRandom(NumericValue.asNumber(lv.get(1)).getLong()); } - Value argument = lv.get(0); + Value argument = lv.getFirst(); if (argument instanceof final ListValue listValue) { List list = listValue.getItems(); @@ -230,7 +230,7 @@ else if (fmt != '%') return t == Context.BOOLEAN ? BooleanValue.of(value >= 1.0D) : new NumericValue(value); }); expression.addContextFunction("reset_seed", 1, (c, t, lv) -> { - boolean gotIt = c.host.resetRandom(NumericValue.asNumber(lv.get(0)).getLong()); + boolean gotIt = c.host.resetRandom(NumericValue.asNumber(lv.getFirst()).getLong()); return BooleanValue.of(gotIt); }); @@ -257,7 +257,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'perlin' requires at least one dimension to sample from"); } - x = NumericValue.asNumber(lv.get(0)); + x = NumericValue.asNumber(lv.getFirst()); if (lv.size() > 1) { y = NumericValue.asNumber(lv.get(1)); @@ -295,7 +295,7 @@ else if (fmt != '%') if (lv.size() >= 4) { - x = lv.get(0); + x = lv.getFirst(); y = lv.get(1); z = lv.get(2); sampler = SimplexNoiseSampler.getSimplex(NumericValue.asNumber(lv.get(3)).getLong()); @@ -308,7 +308,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'simplex' requires at least two dimensions to sample from"); } - x = NumericValue.asNumber(lv.get(0)); + x = NumericValue.asNumber(lv.getFirst()); y = NumericValue.asNumber(lv.get(1)); if (lv.size() > 2) { @@ -350,7 +350,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'convert_date' requires at least one parameter"); } - Value value = lv.get(0); + Value value = lv.getFirst(); if (argsize == 1 && !(value instanceof ListValue)) { Calendar cal = new GregorianCalendar(Locale.ROOT); @@ -382,7 +382,7 @@ else if (value instanceof final ListValue list) if (argsize == 3) { cal.set( - NumericValue.asNumber(lv.get(0)).getInt(), + NumericValue.asNumber(lv.getFirst()).getInt(), NumericValue.asNumber(lv.get(1)).getInt() - 1, NumericValue.asNumber(lv.get(2)).getInt() ); @@ -390,7 +390,7 @@ else if (value instanceof final ListValue list) else if (argsize == 6) { cal.set( - NumericValue.asNumber(lv.get(0)).getInt(), + NumericValue.asNumber(lv.getFirst()).getInt(), NumericValue.asNumber(lv.get(1)).getInt() - 1, NumericValue.asNumber(lv.get(2)).getInt(), NumericValue.asNumber(lv.get(3)).getInt(), @@ -408,7 +408,7 @@ else if (argsize == 6) // lazy cause evaluates expression multiple times expression.addLazyFunction("profile_expr", 1, (c, t, lv) -> { - LazyValue lazy = lv.get(0); + LazyValue lazy = lv.getFirst(); long end = System.nanoTime() + 50000000L; long it = 0; while (System.nanoTime() < end) @@ -421,11 +421,11 @@ else if (argsize == 6) }); expression.addContextFunction("var", 1, (c, t, lv) -> - expression.getOrSetAnyVariable(c, lv.get(0).getString()).evalValue(c)); + expression.getOrSetAnyVariable(c, lv.getFirst().getString()).evalValue(c)); expression.addContextFunction("undef", 1, (c, t, lv) -> { - Value remove = lv.get(0); + Value remove = lv.getFirst(); if (remove instanceof FunctionValue) { c.host.delFunction(expression.module, remove.getString()); @@ -467,7 +467,7 @@ else if (!varname.startsWith("_")) //deprecate expression.addContextFunction("vars", 1, (c, t, lv) -> { - String prefix = lv.get(0).getString(); + String prefix = lv.getFirst().getString(); List values = new ArrayList<>(); if (prefix.startsWith("global")) { @@ -487,7 +487,7 @@ else if (!varname.startsWith("_")) { throw new InternalExpressionException("'system_variable_get' expects at least a key to be fetched"); } - Value key = lv.get(0).evalValue(c); + Value key = lv.getFirst().evalValue(c); if (lv.size() > 1) { c.host.scriptServer().systemGlobals.computeIfAbsent(key, k -> lv.get(1).evalValue(c)); @@ -498,7 +498,7 @@ else if (!varname.startsWith("_")) expression.addContextFunction("system_variable_set", 2, (c, t, lv) -> { - Value res = c.host.scriptServer().systemGlobals.put(lv.get(0), lv.get(1)); + Value res = c.host.scriptServer().systemGlobals.put(lv.getFirst(), lv.get(1)); return res == null ? Value.NULL : res; }); } diff --git a/src/main/java/carpet/script/language/Threading.java b/src/main/java/carpet/script/language/Threading.java index a129d09717..477b1de068 100644 --- a/src/main/java/carpet/script/language/Threading.java +++ b/src/main/java/carpet/script/language/Threading.java @@ -32,7 +32,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'task' requires at least function to call as a parameter"); } - Value queue = lv.get(0); + Value queue = lv.getFirst(); FunctionArgument functionArgument = FunctionArgument.findIn(c, expression.module, lv, 1, false, true); ThreadValue thread = new ThreadValue(queue, functionArgument.function, expr, tok, c, functionArgument.checkedArgs()); Thread.yield(); @@ -41,7 +41,7 @@ public static void apply(Expression expression) expression.addContextFunction("task_count", -1, (c, t, lv) -> - (!lv.isEmpty()) ? new NumericValue(c.host.taskCount(lv.get(0))) : new NumericValue(c.host.taskCount())); + (!lv.isEmpty()) ? new NumericValue(c.host.taskCount(lv.getFirst())) : new NumericValue(c.host.taskCount())); expression.addUnaryFunction("task_value", v -> { @@ -64,7 +64,7 @@ public static void apply(Expression expression) expression.addLazyFunction("task_dock", 1, (c, t, lv) -> // pass through placeholder // implmenetation should dock the task on the main thread. - lv.get(0) + lv.getFirst() ); expression.addUnaryFunction("task_completed", v -> @@ -87,7 +87,7 @@ public static void apply(Expression expression) int ind = 0; if (lv.size() == 2) { - lockValue = lv.get(0).evalValue(c); + lockValue = lv.getFirst().evalValue(c); ind = 1; } synchronized (c.host.getLock(lockValue)) @@ -100,7 +100,7 @@ public static void apply(Expression expression) // lazy since exception expression is very conditional expression.addLazyFunction("sleep", (c, t, lv) -> { - long time = lv.isEmpty() ? 0L : NumericValue.asNumber(lv.get(0).evalValue(c)).getLong(); + long time = lv.isEmpty() ? 0L : NumericValue.asNumber(lv.getFirst().evalValue(c)).getLong(); boolean interrupted = false; try { @@ -141,14 +141,14 @@ public static void apply(Expression expression) throw new InternalExpressionException("'yield' requires at least one argument"); } boolean lock = lv.size() > 1 && lv.get(1).evalValue(c, Context.BOOLEAN).getBoolean(); - Value value = lv.get(0).evalValue(c); + Value value = lv.getFirst().evalValue(c); Value ret = c.getThreadContext().ping(value, lock); return (cc, tt) -> ret; }); expression.addLazyFunction("task_send", 2, (c, t, lv) -> { - Value threadValue = lv.get(0).evalValue(c); + Value threadValue = lv.getFirst().evalValue(c); if (!(threadValue instanceof ThreadValue thread)) { throw new InternalExpressionException("'task_next' requires a task value"); @@ -164,7 +164,7 @@ public static void apply(Expression expression) expression.addLazyFunction("task_await", 1, (c, t, lv) -> { - Value threadValue = lv.get(0).evalValue(c); + Value threadValue = lv.getFirst().evalValue(c); if (!(threadValue instanceof ThreadValue thread)) { throw new InternalExpressionException("'task_await' requires a task value"); @@ -179,7 +179,7 @@ public static void apply(Expression expression) expression.addLazyFunction("task_ready", 1, (c, t, lv) -> { - Value threadValue = lv.get(0).evalValue(c); + Value threadValue = lv.getFirst().evalValue(c); if (!(threadValue instanceof ThreadValue thread)) { throw new InternalExpressionException("'task_ready' requires a task value"); diff --git a/src/main/java/carpet/script/utils/AppStoreManager.java b/src/main/java/carpet/script/utils/AppStoreManager.java index 963cd54921..599de842fc 100644 --- a/src/main/java/carpet/script/utils/AppStoreManager.java +++ b/src/main/java/carpet/script/utils/AppStoreManager.java @@ -249,7 +249,7 @@ public static List suggestionsFromPath(String currentPath, CommandSource List filteredSuggestions = appKiosk.createPathSuggestions(source).stream().filter(s -> s.startsWith(currentPath)).toList(); if (filteredSuggestions.size() == 1 && !appKiosk.isLeaf()) { - return suggestionsFromPath(filteredSuggestions.get(0), source); // Start suggesting directory contents + return suggestionsFromPath(filteredSuggestions.getFirst(), source); // Start suggesting directory contents } return filteredSuggestions; } diff --git a/src/main/java/carpet/script/utils/ShapeDispatcher.java b/src/main/java/carpet/script/utils/ShapeDispatcher.java index 7ea1fcb483..afcab09c4b 100644 --- a/src/main/java/carpet/script/utils/ShapeDispatcher.java +++ b/src/main/java/carpet/script/utils/ShapeDispatcher.java @@ -86,7 +86,7 @@ public static ShapeWithConfig fromFunctionArgs( { throw new InternalExpressionException("'draw_shape' takes at least three parameters, shape name, duration, and its params"); } - String shapeType = lv.get(0).getString(); + String shapeType = lv.getFirst().getString(); Value duration = NumericValue.asNumber(lv.get(1), "duration"); Map params; if (lv.size() == 3) @@ -425,7 +425,7 @@ public Vec3 vecFromValue(Value value) } List elements = list.getItems(); return new Vec3( - NumericValue.asNumber(elements.get(0)).getDouble(), + NumericValue.asNumber(elements.getFirst()).getDouble(), NumericValue.asNumber(elements.get(1)).getDouble(), NumericValue.asNumber(elements.get(2)).getDouble() ); @@ -751,7 +751,7 @@ protected void init(Map options, RegistryAccess regs) turn = NumericValue.asNumber(options.getOrDefault("turn", optional.get("turn"))).getFloat(); List scale = ((ListValue) options.getOrDefault("scale", optional.get("scale"))).unpack(); scaleY = NumericValue.asNumber(scale.get(1)).getFloat(); - scaleX = NumericValue.asNumber(scale.get(0)).getFloat(); + scaleX = NumericValue.asNumber(scale.getFirst()).getFloat(); scaleZ = NumericValue.asNumber(scale.get(2)).getFloat(); } @@ -984,8 +984,8 @@ ArrayList getAlterPoint(ServerPlayer p) } break; case 6: - Vec3 vec0 = vertexList.get(0); - if (relative.get(0)) + Vec3 vec0 = vertexList.getFirst(); + if (relative.getFirst()) { vec0 = relativiseRender(p.level(), vec0, 0); } @@ -1006,8 +1006,8 @@ ArrayList getAlterPoint(ServerPlayer p) } break; case 5: - Vec3 vecA = vertexList.get(0); - if (relative.get(0)) + Vec3 vecA = vertexList.getFirst(); + if (relative.getFirst()) { vecA = relativiseRender(p.level(), vecA, 0); } @@ -2045,7 +2045,7 @@ public Tag toTag(Value value, final RegistryAccess regs) { List lv = ((ListValue) value).getItems(); ListTag tag = new ListTag(); - tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.get(0), "x").getDouble())); + tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.getFirst(), "x").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.get(1), "y").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.get(2), "z").getDouble())); return tag; @@ -2100,7 +2100,7 @@ public Tag toTag(Value pointsValue, final RegistryAccess regs) { List coords = ((ListValue) value).getItems(); ListTag tag = new ListTag(); - tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.get(0), "x").getDouble())); + tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.getFirst(), "x").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.get(1), "y").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.get(2), "z").getDouble())); ltag.add(tag); @@ -2224,7 +2224,7 @@ public static int drawParticleLine(List players, ParticleOptions p int pcount = 0; if (distance < 100) { - RandomSource rand = players.get(0).level().random; + RandomSource rand = players.getFirst().level().random; int particles = (int) (distance / density) + 1; Vec3 towards = to.subtract(from); for (int i = 0; i < particles; i++) diff --git a/src/main/java/carpet/script/value/EntityValue.java b/src/main/java/carpet/script/value/EntityValue.java index f3dcc1cc78..e13ecc8890 100644 --- a/src/main/java/carpet/script/value/EntityValue.java +++ b/src/main/java/carpet/script/value/EntityValue.java @@ -197,7 +197,7 @@ public Value in(Value v) if (v instanceof ListValue lv) { List values = lv.getItems(); - String what = values.get(0).getString(); + String what = values.getFirst().getString(); Value arg = null; if (values.size() == 2) { @@ -756,7 +756,7 @@ public Value get(String what, @Nullable Value arg) { throw new InternalExpressionException("'trace' needs more arguments"); } - reach = (float) NumericValue.asNumber(args.get(0)).getDouble(); + reach = (float) NumericValue.asNumber(args.getFirst()).getDouble(); if (args.size() > 1) { entities = false; @@ -1047,7 +1047,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); updatePosition(e, - NumericValue.asNumber(coords.get(0)).getDouble(), + NumericValue.asNumber(coords.getFirst()).getDouble(), NumericValue.asNumber(coords.get(1)).getDouble(), NumericValue.asNumber(coords.get(2)).getDouble(), (float) NumericValue.asNumber(coords.get(3)).getDouble(), @@ -1062,7 +1062,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); updatePosition(e, - NumericValue.asNumber(coords.get(0)).getDouble(), + NumericValue.asNumber(coords.getFirst()).getDouble(), NumericValue.asNumber(coords.get(1)).getDouble(), NumericValue.asNumber(coords.get(2)).getDouble(), e.getYRot(), @@ -1096,7 +1096,7 @@ private static void updateVelocity(Entity e, double scale) throw new InternalExpressionException("Expected a list of 3 parameters as a second argument"); } List vec = lv.getItems(); - float x = NumericValue.asNumber(vec.get(0)).getFloat(); + float x = NumericValue.asNumber(vec.getFirst()).getFloat(); float y = NumericValue.asNumber(vec.get(1)).getFloat(); float z = NumericValue.asNumber(vec.get(2)).getFloat(); float l = Mth.sqrt(x * x + y * y + z * z); @@ -1123,7 +1123,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); updatePosition(e, - e.getX() + NumericValue.asNumber(coords.get(0)).getDouble(), + e.getX() + NumericValue.asNumber(coords.getFirst()).getDouble(), e.getY() + NumericValue.asNumber(coords.get(1)).getDouble(), e.getZ() + NumericValue.asNumber(coords.get(2)).getDouble(), e.getYRot(), @@ -1138,7 +1138,7 @@ private static void updateVelocity(Entity e, double scale) throw new InternalExpressionException("Expected a list of 3 parameters as a second argument"); } List coords = lv.getItems(); - double dx = NumericValue.asNumber(coords.get(0)).getDouble(); + double dx = NumericValue.asNumber(coords.getFirst()).getDouble(); double dy = NumericValue.asNumber(coords.get(1)).getDouble(); double dz = NumericValue.asNumber(coords.get(2)).getDouble(); e.setDeltaMovement(dx, dy, dz); @@ -1174,7 +1174,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); e.push( - NumericValue.asNumber(coords.get(0)).getDouble(), + NumericValue.asNumber(coords.getFirst()).getDouble(), NumericValue.asNumber(coords.get(1)).getDouble(), NumericValue.asNumber(coords.get(2)).getDouble() ); @@ -1192,7 +1192,7 @@ private static void updateVelocity(Entity e, double scale) if (v instanceof ListValue lv) { showName = lv.getItems().get(1).getBoolean(); - v = lv.getItems().get(0); + v = lv.getItems().getFirst(); } e.setCustomNameVisible(showName); e.setCustomName(FormattedTextValue.getTextByValue(v)); @@ -1473,7 +1473,7 @@ else if (v instanceof ListValue lv) List list = lv.getItems(); if (list.size() >= 1 && list.size() <= 6) { - String effectName = list.get(0).getString(); + String effectName = list.getFirst().getString(); Holder effect = BuiltInRegistries.MOB_EFFECT.getHolder(InputValidator.identifierOf(effectName)).orElseThrow(() -> new InternalExpressionException("No such an effect: " + effectName)); if (list.size() == 1) { diff --git a/src/main/java/carpet/script/value/ListValue.java b/src/main/java/carpet/script/value/ListValue.java index dfea225378..5b6d9a642b 100644 --- a/src/main/java/carpet/script/value/ListValue.java +++ b/src/main/java/carpet/script/value/ListValue.java @@ -43,7 +43,7 @@ public String getPrettyString() { return items.size() < 8 ? "[" + items.stream().map(Value::getPrettyString).collect(Collectors.joining(", ")) + "]" - : "[" + items.get(0).getPrettyString() + ", " + items.get(1).getPrettyString() + ", ..., " + items.get(items.size() - 2).getPrettyString() + ", " + items.get(items.size() - 1).getPrettyString() + "]"; + : "[" + items.getFirst().getPrettyString() + ", " + items.get(1).getPrettyString() + ", ..., " + items.get(items.size() - 2).getPrettyString() + ", " + items.get(items.size() - 1).getPrettyString() + "]"; } @Override @@ -92,7 +92,7 @@ public static Value fromTriple(int a, int b, int c) public static ListValue wrap(Stream stream) { - return wrap(stream.collect(Collectors.toList())); + return wrap(stream.toList()); } public static ListValue wrap(List list) @@ -472,7 +472,7 @@ private boolean put(Value ind, Value value, boolean replace, boolean extend) if (extend && value instanceof AbstractListValue) { Iterable iterable = ((AbstractListValue) value)::iterator; - List appendix = StreamSupport.stream(iterable.spliterator(), false).collect(Collectors.toList()); + List appendix = StreamSupport.stream(iterable.spliterator(), false).toList(); items.addAll(index, appendix); return true; } @@ -566,7 +566,7 @@ public Tag toTag(boolean force, RegistryAccess regs) ListTag tag = new ListTag(); if (argSize == 1) { - tag.add(items.get(0).toTag(force, regs)); + tag.add(items.getFirst().toTag(force, regs)); return tag; } // figuring out the types diff --git a/src/main/java/carpet/script/value/MapValue.java b/src/main/java/carpet/script/value/MapValue.java index ba4b16707e..bedfbff8d5 100644 --- a/src/main/java/carpet/script/value/MapValue.java +++ b/src/main/java/carpet/script/value/MapValue.java @@ -47,7 +47,7 @@ public Iterator iterator() @Override public List unpack() { - return map.entrySet().stream().map(e -> ListValue.of(e.getKey(), e.getValue())).collect(Collectors.toList()); + return map.entrySet().stream().map(e -> ListValue.of(e.getKey(), e.getValue())).toList(); } @Override @@ -65,7 +65,7 @@ public String getPrettyString() } List keys = new ArrayList<>(map.keySet()); int max = keys.size(); - return "{" + keys.get(0).getPrettyString() + ": " + map.get(keys.get(0)).getPrettyString() + ", " + + return "{" + keys.getFirst().getPrettyString() + ": " + map.get(keys.getFirst()).getPrettyString() + ", " + keys.get(1).getPrettyString() + ": " + map.get(keys.get(1)).getPrettyString() + ", ..., " + keys.get(max - 2).getPrettyString() + ": " + map.get(keys.get(max - 2)).getPrettyString() + ", " + keys.get(max - 1).getPrettyString() + ": " + map.get(keys.get(max - 1)).getPrettyString() + "}"; @@ -152,7 +152,7 @@ public void put(Value v) { throw new InternalExpressionException("Map constructor requires elements that have two items"); } - map.put(pair.getItems().get(0), pair.getItems().get(1)); + map.put(pair.getItems().getFirst(), pair.getItems().get(1)); } @Override diff --git a/src/main/java/carpet/script/value/NBTSerializableValue.java b/src/main/java/carpet/script/value/NBTSerializableValue.java index f6df234c6b..975babd057 100644 --- a/src/main/java/carpet/script/value/NBTSerializableValue.java +++ b/src/main/java/carpet/script/value/NBTSerializableValue.java @@ -675,7 +675,7 @@ public Value get(Value value) } if (tags.size() == 1 && !valString.endsWith("[]")) { - return NBTSerializableValue.decodeTag(tags.get(0)); + return NBTSerializableValue.decodeTag(tags.getFirst()); } return ListValue.wrap(tags.stream().map(NBTSerializableValue::decodeTag)); } diff --git a/src/main/java/carpet/script/value/ScreenValue.java b/src/main/java/carpet/script/value/ScreenValue.java index a3c154fff7..552375646a 100644 --- a/src/main/java/carpet/script/value/ScreenValue.java +++ b/src/main/java/carpet/script/value/ScreenValue.java @@ -339,7 +339,7 @@ public Value queryProperty(String propertyName) public Value modifyProperty(String propertyName, List lv) { DataSlot property = getProperty(propertyName); - int intValue = NumericValue.asNumber(lv.get(0)).getInt(); + int intValue = NumericValue.asNumber(lv.getFirst()).getInt(); property.set(intValue); this.screenHandler.broadcastChanges(); return Value.TRUE; diff --git a/src/main/java/carpet/script/value/ValueConversions.java b/src/main/java/carpet/script/value/ValueConversions.java index 80b1c26ac7..82f01ab71f 100644 --- a/src/main/java/carpet/script/value/ValueConversions.java +++ b/src/main/java/carpet/script/value/ValueConversions.java @@ -304,7 +304,7 @@ private static Value fromEntityMemory(Entity e, Object v) { return ListValue.of(); } - Object el = l.get(0); + Object el = l.getFirst(); if (el instanceof final Entity entity) { return ListValue.wrap(l.stream().map(o -> new EntityValue(entity))); @@ -476,7 +476,7 @@ public static ItemStack getItemStackFromValue(Value value, boolean withCount, Re throw new ThrowStatement("item definition from list of size " + list.length(), Throwables.UNKNOWN_ITEM); } List items = list.getItems(); - name = items.get(0).getString(); + name = items.getFirst().getString(); if (withCount) { count = NumericValue.asNumber(items.get(1)).getInt(); diff --git a/src/main/java/carpet/settings/ParsedRule.java b/src/main/java/carpet/settings/ParsedRule.java index b02bfec5b1..b906e300c7 100644 --- a/src/main/java/carpet/settings/ParsedRule.java +++ b/src/main/java/carpet/settings/ParsedRule.java @@ -234,7 +234,7 @@ else if (this.type.isEnum()) } if (isStrict && !this.options.isEmpty()) { - this.realValidators.add(0, new Validator.StrictValidator<>()); // at 0 prevents validators with side effects from running when invalid + this.realValidators.addFirst(new Validator.StrictValidator<>()); // at 0 prevents validators with side effects from running when invalid } if (converter0 == null) { @SuppressWarnings("unchecked") @@ -394,7 +394,7 @@ public void set(CommandSourceStack source, T value) throws InvalidRuleValueExcep @Override public boolean strict() { - return !realValidators.isEmpty() && realValidators.get(0) instanceof Validator.StrictValidator; + return !realValidators.isEmpty() && realValidators.getFirst() instanceof Validator.StrictValidator; } private static Map.Entry, FromStringConverter> numericalConverter(Class outputClass, Function converter) { diff --git a/src/main/java/carpet/utils/CarpetProfiler.java b/src/main/java/carpet/utils/CarpetProfiler.java index a4a0206719..6efc5ea56f 100644 --- a/src/main/java/carpet/utils/CarpetProfiler.java +++ b/src/main/java/carpet/utils/CarpetProfiler.java @@ -74,7 +74,7 @@ public enum TYPE TILEENTITY } - public static record ProfilerToken(TYPE type, Object section, long start, Level world) + public record ProfilerToken(TYPE type, Object section, long start, Level world) { public ProfilerToken(TYPE type, Object section, Level world) { diff --git a/src/main/java/carpet/utils/Messenger.java b/src/main/java/carpet/utils/Messenger.java index 36af4c1789..2b7fc9fe8f 100644 --- a/src/main/java/carpet/utils/Messenger.java +++ b/src/main/java/carpet/utils/Messenger.java @@ -215,7 +215,7 @@ public static Component dblt(String style, double ... doubles) } //components.remove(components.size()-1); components.add(style+" ]"); - return c(components.toArray(new Object[0])); + return c(components.toArray()); } private static Component getCoordsTextComponent(String style, float x, float y, float z, boolean isInt) diff --git a/src/main/java/carpet/utils/SpawnReporter.java b/src/main/java/carpet/utils/SpawnReporter.java index 512431c9e3..e459e9252a 100644 --- a/src/main/java/carpet/utils/SpawnReporter.java +++ b/src/main/java/carpet/utils/SpawnReporter.java @@ -102,8 +102,8 @@ public static List printMobcapsForDimension(ServerLevel world, boolea lst.add(Messenger.s(String.format("Mobcaps for %s:",name))); NaturalSpawner.SpawnState lastSpawner = world.getChunkSource().getLastSpawnState(); Object2IntMap dimCounts = lastSpawner.getMobCategoryCounts(); - int chunkcount = chunkCounts.getOrDefault(dim, -1); - if (dimCounts == null || chunkcount < 0) + int chunkCount = chunkCounts.getOrDefault(dim, -1); + if (chunkCount < 0) { lst.add(Messenger.c("g --UNAVAILABLE--")); return lst; @@ -113,7 +113,7 @@ public static List printMobcapsForDimension(ServerLevel world, boolea for (MobCategory category : cachedMobCategories()) { int cur = dimCounts.getOrDefault(category, -1); - int max = (int)(chunkcount * ((double)category.getMaxInstancesPerChunk() / MAGIC_NUMBER)); // from ServerChunkManager.CHUNKS_ELIGIBLE_FOR_SPAWNING + int max = (int)(chunkCount * ((double)category.getMaxInstancesPerChunk() / MAGIC_NUMBER)); // from ServerChunkManager.CHUNKS_ELIGIBLE_FOR_SPAWNING String color = Messenger.heatmap_color(cur, max); String mobColor = Messenger.creatureTypeColor(category); if (multiline) @@ -136,8 +136,8 @@ public static List printMobcapsForDimension(ServerLevel world, boolea { if (shortCodes.size() > 0) { - shortCodes.remove(shortCodes.size() - 1); - lst.add(Messenger.c(shortCodes.toArray(new Object[0]))); + shortCodes.removeLast(); + lst.add(Messenger.c(shortCodes.toArray())); } else { diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 1e5b1b3f90..3d03345474 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -46,7 +46,6 @@ "LevelLightEngine_scarpetChunkCreationMixin", "LayerLightEngine_scarpetChunkCreationMixin", "LayerLightSectionStorage_scarpetChunkCreationMixin", - "DistanceManager_spawnChunksMixin", "ThreadedLevelLightEngine_scarpetChunkCreationMixin", "LivingEntity_cleanLogsMixin", "MobMixin", @@ -150,7 +149,6 @@ "CommandDispatcher_scarpetCommandsMixin", "RecipeManager_scarpetMixin", - "Ingredient_scarpetMixin", "BlockInput_scarpetMixin", "BlockPredicate_scarpetMixin", "TagPredicate_scarpetMixin", From 55dc11e582ad576f4ff5766e7470daba6be34408 Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Wed, 24 Apr 2024 16:36:00 +0800 Subject: [PATCH 2/9] revert --- src/main/java/carpet/script/language/Arithmetic.java | 2 +- src/main/java/carpet/script/language/Sys.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/carpet/script/language/Arithmetic.java b/src/main/java/carpet/script/language/Arithmetic.java index 3d8bab1ceb..4d98672359 100644 --- a/src/main/java/carpet/script/language/Arithmetic.java +++ b/src/main/java/carpet/script/language/Arithmetic.java @@ -82,7 +82,7 @@ else if (number > 170) expression.addMathematicalUnaryIntFunction("ceil", n -> (long) Math.ceil(n)); expression.addContextFunction("mandelbrot", 3, (c, t, lv) -> { - double a0 = NumericValue.asNumber(lv.getFirst()).getDouble(); + double a0 = NumericValue.asNumber(lv.get(0)).getDouble(); double b0 = NumericValue.asNumber(lv.get(1)).getDouble(); long maxiter = NumericValue.asNumber(lv.get(2)).getLong(); double a = 0.0D; diff --git a/src/main/java/carpet/script/language/Sys.java b/src/main/java/carpet/script/language/Sys.java index 5afa920871..04b327f4d0 100644 --- a/src/main/java/carpet/script/language/Sys.java +++ b/src/main/java/carpet/script/language/Sys.java @@ -295,7 +295,7 @@ else if (fmt != '%') if (lv.size() >= 4) { - x = lv.getFirst(); + x = lv.get(0); y = lv.get(1); z = lv.get(2); sampler = SimplexNoiseSampler.getSimplex(NumericValue.asNumber(lv.get(3)).getLong()); @@ -382,7 +382,7 @@ else if (value instanceof final ListValue list) if (argsize == 3) { cal.set( - NumericValue.asNumber(lv.getFirst()).getInt(), + NumericValue.asNumber(lv.get(0)).getInt(), NumericValue.asNumber(lv.get(1)).getInt() - 1, NumericValue.asNumber(lv.get(2)).getInt() ); @@ -390,7 +390,7 @@ else if (value instanceof final ListValue list) else if (argsize == 6) { cal.set( - NumericValue.asNumber(lv.getFirst()).getInt(), + NumericValue.asNumber(lv.get(0)).getInt(), NumericValue.asNumber(lv.get(1)).getInt() - 1, NumericValue.asNumber(lv.get(2)).getInt(), NumericValue.asNumber(lv.get(3)).getInt(), From 5660ea765d97ed147711f9e870f15bfa5ca25d7d Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Wed, 24 Apr 2024 16:46:12 +0800 Subject: [PATCH 3/9] fix build --- src/main/java/carpet/script/value/MapValue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/carpet/script/value/MapValue.java b/src/main/java/carpet/script/value/MapValue.java index bedfbff8d5..5db6864021 100644 --- a/src/main/java/carpet/script/value/MapValue.java +++ b/src/main/java/carpet/script/value/MapValue.java @@ -47,7 +47,7 @@ public Iterator iterator() @Override public List unpack() { - return map.entrySet().stream().map(e -> ListValue.of(e.getKey(), e.getValue())).toList(); + return map.entrySet().stream().map(e -> ListValue.of(e.getKey(), e.getValue())).collect(Collectors.toList()); } @Override From 7d223e503e88ff912091380d38a8a930802eb40c Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Wed, 24 Apr 2024 16:57:07 +0800 Subject: [PATCH 4/9] simplify getString --- src/main/java/carpet/script/value/MapValue.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/script/value/MapValue.java b/src/main/java/carpet/script/value/MapValue.java index 5db6864021..9f0c40af57 100644 --- a/src/main/java/carpet/script/value/MapValue.java +++ b/src/main/java/carpet/script/value/MapValue.java @@ -41,7 +41,7 @@ public MapValue(Set keySet) @Override public Iterator iterator() { - return new ArrayList<>(map.keySet()).iterator(); + return map.keySet().iterator(); } @Override @@ -53,7 +53,7 @@ public List unpack() @Override public String getString() { - return "{" + map.entrySet().stream().map(p -> p.getKey().getString() + ": " + p.getValue().getString()).collect(Collectors.joining(", ")) + "}"; + return map.toString(); } @Override From a5bca6905cd3f5b742f7d2ffbe73822a80dd0f6c Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Sun, 5 May 2024 23:44:17 +0800 Subject: [PATCH 5/9] Revert getFirst to get(0) --- .../java/carpet/commands/InfoCommand.java | 2 +- .../java/carpet/logging/HUDController.java | 2 +- .../java/carpet/script/CarpetScriptHost.java | 2 +- src/main/java/carpet/script/Expression.java | 24 ++++----- .../java/carpet/script/api/Auxiliary.java | 54 +++++++++---------- src/main/java/carpet/script/api/Entities.java | 22 ++++---- .../java/carpet/script/api/Inventories.java | 18 +++---- .../java/carpet/script/api/Monitoring.java | 4 +- .../java/carpet/script/api/Scoreboards.java | 22 ++++---- .../java/carpet/script/api/Threading.java | 6 +-- .../java/carpet/script/api/WorldAccess.java | 31 ++++++----- .../carpet/script/argument/FileArgument.java | 2 +- .../script/argument/FunctionArgument.java | 2 +- .../script/argument/Vector3Argument.java | 2 +- .../script/command/CommandArgument.java | 2 +- .../carpet/script/language/Arithmetic.java | 10 ++-- .../carpet/script/language/ControlFlow.java | 6 +-- .../script/language/DataStructures.java | 32 +++++------ .../carpet/script/language/Functions.java | 8 +-- .../java/carpet/script/language/Loops.java | 24 ++++----- .../carpet/script/language/Operators.java | 26 ++++----- src/main/java/carpet/script/language/Sys.java | 30 +++++------ .../carpet/script/language/Threading.java | 18 +++---- .../carpet/script/utils/AppStoreManager.java | 2 +- .../carpet/script/utils/ShapeDispatcher.java | 20 +++---- .../java/carpet/script/value/EntityValue.java | 22 ++++---- .../java/carpet/script/value/ListValue.java | 4 +- .../java/carpet/script/value/MapValue.java | 4 +- .../script/value/NBTSerializableValue.java | 2 +- .../java/carpet/script/value/ScreenValue.java | 2 +- .../carpet/script/value/ValueConversions.java | 4 +- src/main/java/carpet/settings/ParsedRule.java | 2 +- 32 files changed, 205 insertions(+), 206 deletions(-) diff --git a/src/main/java/carpet/commands/InfoCommand.java b/src/main/java/carpet/commands/InfoCommand.java index 10f41cea84..6c1bb365eb 100644 --- a/src/main/java/carpet/commands/InfoCommand.java +++ b/src/main/java/carpet/commands/InfoCommand.java @@ -49,7 +49,7 @@ public static void printBlock(List messages, CommandSourceStack sourc if (grep != null) { Pattern p = Pattern.compile(grep); - Messenger.m(source, messages.getFirst()); + Messenger.m(source, messages.get(0)); messages.forEach(line -> { Matcher m = p.matcher(line.getString()); if (m.find()) diff --git a/src/main/java/carpet/logging/HUDController.java b/src/main/java/carpet/logging/HUDController.java index 08cff75e51..4ce55153af 100644 --- a/src/main/java/carpet/logging/HUDController.java +++ b/src/main/java/carpet/logging/HUDController.java @@ -90,7 +90,7 @@ public static void update_hud(MinecraftServer server, List force) case "end" -> Level.END; default -> player.level().dimension(); }; - return new Component[]{SpawnReporter.printMobcapsForDimension(server.getLevel(dim), false).getFirst()}; + return new Component[]{SpawnReporter.printMobcapsForDimension(server.getLevel(dim), false).get(0)}; }); if(LoggerRegistry.__counter) diff --git a/src/main/java/carpet/script/CarpetScriptHost.java b/src/main/java/carpet/script/CarpetScriptHost.java index 2a6e020c18..a60d7b3958 100644 --- a/src/main/java/carpet/script/CarpetScriptHost.java +++ b/src/main/java/carpet/script/CarpetScriptHost.java @@ -175,7 +175,7 @@ public LiteralArgumentBuilder addPathToCommand( } List reversedPath = new ArrayList<>(path); Collections.reverse(reversedPath); - ArgumentBuilder argChain = reversedPath.getFirst().getCommandNode(this).executes(c -> execute(c, hostName, functionSpec, commandArgs)); + ArgumentBuilder argChain = reversedPath.get(0).getCommandNode(this).executes(c -> execute(c, hostName, functionSpec, commandArgs)); for (int i = 1; i < reversedPath.size(); i++) { argChain = reversedPath.get(i).getCommandNode(this).then(argChain); diff --git a/src/main/java/carpet/script/Expression.java b/src/main/java/carpet/script/Expression.java index b8051597eb..bf45dd742b 100644 --- a/src/main/java/carpet/script/Expression.java +++ b/src/main/java/carpet/script/Expression.java @@ -135,7 +135,7 @@ public List getExpressionSnippet(Tokenizer.Token token) String code = this.getCodeString(); List output = new ArrayList<>(getExpressionSnippetLeftContext(token, code, 1)); List context = getExpressionSnippetContext(token, code); - output.add(context.getFirst() + " HERE>> " + context.get(1)); + output.add(context.get(0) + " HERE>> " + context.get(1)); output.addAll(getExpressionSnippetRightContext(token, code, 1)); return output; } @@ -463,7 +463,7 @@ public void addUnaryFunction(String name, Function fun) @Override public Value eval(List parameters) { - return fun.apply(parameters.getFirst()); + return fun.apply(parameters.get(0)); } }); } @@ -481,7 +481,7 @@ public boolean pure() @Override public Value eval(List parameters) { - return fun.apply(parameters.getFirst()); + return fun.apply(parameters.get(0)); } }); } @@ -493,7 +493,7 @@ public void addBinaryFunction(String name, BiFunction fun) @Override public Value eval(List parameters) { - return fun.apply(parameters.getFirst(), parameters.get(1)); + return fun.apply(parameters.get(0), parameters.get(1)); } }); } @@ -1308,10 +1308,10 @@ else if (rop.equals("return")) { if (!returnNode.args.isEmpty()) { - returnNode.op = returnNode.args.getFirst().op; - returnNode.token = returnNode.args.getFirst().token; - returnNode.range = returnNode.args.getFirst().range; - returnNode.args = returnNode.args.getFirst().args; + returnNode.op = returnNode.args.get(0).op; + returnNode.token = returnNode.args.get(0).token; + returnNode.range = returnNode.args.get(0).range; + returnNode.args = returnNode.args.get(0).args; if (scriptsDebugging) { CarpetScriptServer.LOG.info(" - Removed unnecessary tail return of " + returnNode.token.surface + " from function body at line " + (returnNode.token.lineno + 1) + ", node depth " + indent); @@ -1454,11 +1454,11 @@ private boolean optimizeTree(Context ctx, ExpressionNode node, Context.Type expe } else if (args.size() == 1) { - result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.getFirst(), null).evalValue(null, expectedType); + result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.get(0), null).evalValue(null, expectedType); } else // args == 2 { - result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.getFirst(), args.get(1)).evalValue(null, expectedType); + result = ((ILazyOperator) operation).lazyEval(ctx, expectedType, this, node.token, args.get(0), args.get(1)).evalValue(null, expectedType); } node.op = LazyValue.ofConstant(result); if (scriptsDebugging) @@ -1492,14 +1492,14 @@ private LazyValue extractOp(Context ctx, ExpressionNode node, Context.Type expec { ILazyOperator op = operators.get(token.surface); Context.Type requestedType = op.staticType(expectedType); - LazyValue arg = extractOp(ctx, node.args.getFirst(), requestedType); + LazyValue arg = extractOp(ctx, node.args.get(0), requestedType); return (c, t) -> op.lazyEval(c, t, this, token, arg, null).evalValue(c, t); } case OPERATOR: { ILazyOperator op = operators.get(token.surface); Context.Type requestedType = op.staticType(expectedType); - LazyValue arg = extractOp(ctx, node.args.getFirst(), requestedType); + LazyValue arg = extractOp(ctx, node.args.get(0), requestedType); LazyValue arh = extractOp(ctx, node.args.get(1), requestedType); return (c, t) -> op.lazyEval(c, t, this, token, arg, arh).evalValue(c, t); } diff --git a/src/main/java/carpet/script/api/Auxiliary.java b/src/main/java/carpet/script/api/Auxiliary.java index b335d55ecf..ff1a5f113f 100644 --- a/src/main/java/carpet/script/api/Auxiliary.java +++ b/src/main/java/carpet/script/api/Auxiliary.java @@ -133,7 +133,7 @@ public static void apply(Expression expression) { return ListValue.wrap(cc.registry(Registries.SOUND_EVENT).holders().map(soundEventReference -> ValueConversions.of(soundEventReference.key().location()))); } - String rawString = lv.getFirst().getString(); + String rawString = lv.get(0).getString(); ResourceLocation soundName = InputValidator.identifierOf(rawString); Vector3Argument locator = Vector3Argument.findIn(lv, 1); @@ -181,7 +181,7 @@ public static void apply(Expression expression) MinecraftServer ms = cc.server(); ServerLevel world = cc.level(); Vector3Argument locator = Vector3Argument.findIn(lv, 1); - String particleName = lv.getFirst().getString(); + String particleName = lv.get(0).getString(); int count = 10; double speed = 0; float spread = 0.5f; @@ -226,7 +226,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; ServerLevel world = cc.level(); - String particleName = lv.getFirst().getString(); + String particleName = lv.get(0).getString(); ParticleOptions particle = ShapeDispatcher.getParticleData(particleName, world.registryAccess()); Vector3Argument pos1 = Vector3Argument.findIn(lv, 1); Vector3Argument pos2 = Vector3Argument.findIn(lv, pos1.offset); @@ -264,13 +264,13 @@ public static void apply(Expression expression) )); }); - expression.addContextFunction("item_display_name", 1, (c, t, lv) -> new FormattedTextValue(ValueConversions.getItemStackFromValue(lv.getFirst(), false, ((CarpetContext) c).registryAccess()).getHoverName())); + expression.addContextFunction("item_display_name", 1, (c, t, lv) -> new FormattedTextValue(ValueConversions.getItemStackFromValue(lv.get(0), false, ((CarpetContext) c).registryAccess()).getHoverName())); expression.addContextFunction("particle_box", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; ServerLevel world = cc.level(); - String particleName = lv.getFirst().getString(); + String particleName = lv.get(0).getString(); ParticleOptions particle = ShapeDispatcher.getParticleData(particleName, world.registryAccess()); Vector3Argument pos1 = Vector3Argument.findIn(lv, 1); Vector3Argument pos2 = Vector3Argument.findIn(lv, pos1.offset); @@ -325,7 +325,7 @@ public static void apply(Expression expression) List shapes = new ArrayList<>(); if (lv.size() == 1) // bulk { - Value specLoad = lv.getFirst(); + Value specLoad = lv.get(0); if (!(specLoad instanceof final ListValue spec)) { throw new InternalExpressionException("In bulk mode - shapes need to be provided as a list of shape specs"); @@ -359,7 +359,7 @@ public static void apply(Expression expression) Component name; try { - Value nameValue = lv.getFirst(); + Value nameValue = lv.get(0); name = nameValue.isNull() ? null : FormattedTextValue.getTextByValue(nameValue); pointLocator = Vector3Argument.findIn(lv, 1, true, false); if (lv.size() > pointLocator.offset) @@ -464,11 +464,11 @@ else if (!interactable && targetBlock == null) { return Value.TRUE; } - if (lv.getFirst().isNull()) + if (lv.get(0).isNull()) { return Value.FALSE; } - Tag source = ((NBTSerializableValue) (NBTSerializableValue.fromValue(lv.getFirst()))).getTag(); + Tag source = ((NBTSerializableValue) (NBTSerializableValue.fromValue(lv.get(0)))).getTag(); Tag match = ((NBTSerializableValue) (NBTSerializableValue.fromValue(lv.get(1)))).getTag(); return BooleanValue.of(NbtUtils.compareNbt(match, source, numParam == 2 || lv.get(2).getBoolean())); }); @@ -479,7 +479,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'encode_nbt' requires 1 or 2 parameters"); } - Value v = lv.getFirst(); + Value v = lv.get(0); boolean force = (argSize > 1) && lv.get(1).getBoolean(); Tag tag; try @@ -503,7 +503,7 @@ else if (!interactable && targetBlock == null) CarpetContext cc = (CarpetContext) c; CommandSourceStack s = cc.source(); MinecraftServer server = s.getServer(); - Value res = lv.getFirst(); + Value res = lv.get(0); List targets = null; if (lv.size() == 2) { @@ -542,7 +542,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'display_title' needs at least a target, type and message, and optionally times"); } - Value pVal = lv.getFirst(); + Value pVal = lv.get(0); if (!(pVal instanceof ListValue)) { pVal = ListValue.of(pVal); @@ -671,7 +671,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'format' requires at least one component"); } - if (values.getFirst() instanceof final ListValue list && values.size() == 1) + if (values.get(0) instanceof final ListValue list && values.size() == 1) { values = list.getItems(); } @@ -687,7 +687,7 @@ else if (!interactable && targetBlock == null) List output = new ArrayList<>(); s.getServer().getCommands().performPrefixedCommand( new SnoopyCommandSource(s, error, output), - lv.getFirst().getString()); + lv.get(0).getString()); return ListValue.of( NumericValue.ZERO, ListValue.wrap(output.stream().map(FormattedTextValue::new)), @@ -726,7 +726,7 @@ else if (!interactable && targetBlock == null) Value time = new NumericValue(((CarpetContext) c).level().getDayTime()); if (!lv.isEmpty()) { - long newTime = NumericValue.asNumber(lv.getFirst()).getLong(); + long newTime = NumericValue.asNumber(lv.get(0)).getLong(); if (newTime < 0) { newTime = 0; @@ -765,7 +765,7 @@ else if (!interactable && targetBlock == null) Vanilla.MinecraftServer_forceTick(server, () -> System.nanoTime() - scriptServer.tickStart < 50000000L); if (!lv.isEmpty()) { - long msTotal = NumericValue.asNumber(lv.getFirst()).getLong(); + long msTotal = NumericValue.asNumber(lv.get(0)).getLong(); long endExpected = scriptServer.tickStart + msTotal * 1000000L; long wait = endExpected - System.nanoTime(); if (wait > 0L) @@ -825,7 +825,7 @@ else if (!interactable && targetBlock == null) // lazy due to passthrough and context changing ability expression.addLazyFunction("in_dimension", 2, (c, t, lv) -> { CommandSourceStack outerSource = ((CarpetContext) c).source(); - Value dimensionValue = lv.getFirst().evalValue(c); + Value dimensionValue = lv.get(0).evalValue(c); Level world = ValueConversions.dimFromValue(dimensionValue, outerSource.getServer()); if (world == outerSource.getLevel()) { @@ -886,7 +886,7 @@ else if (!interactable && targetBlock == null) { throw new InternalExpressionException("'schedule' should have at least 2 arguments, delay and call name"); } - long delay = NumericValue.asNumber(lv.getFirst()).getLong(); + long delay = NumericValue.asNumber(lv.get(0)).getLong(); FunctionArgument functionArgument = FunctionArgument.findIn(c, expression.module, lv, 1, false, false); ((CarpetScriptServer)c.host.scriptServer()).events.scheduleCall( @@ -904,12 +904,12 @@ else if (!interactable && targetBlock == null) if (lv.size() == 1) { - res = lv.getFirst(); + res = lv.get(0); CarpetScriptServer.LOG.info(res.getString()); } else if (lv.size() == 2) { - String level = lv.getFirst().getString().toLowerCase(Locale.ROOT); + String level = lv.get(0).getString().toLowerCase(Locale.ROOT); res = lv.get(1); switch (level) { @@ -1018,7 +1018,7 @@ else if (fdesc.type == FileArgument.Type.JSON) if (!lv.isEmpty()) { c.host.issueDeprecation("load_app_data(...) with arguments"); - String resource = recognizeResource(lv.getFirst(), false); + String resource = recognizeResource(lv.get(0), false); boolean shared = lv.size() > 1 && lv.get(1).getBoolean(); fdesc = new FileArgument(resource, FileArgument.Type.NBT, null, false, shared, FileArgument.Reason.READ, c.host); } @@ -1031,7 +1031,7 @@ else if (fdesc.type == FileArgument.Type.JSON) { throw new InternalExpressionException("'store_app_data' needs NBT tag and an optional file"); } - Value val = lv.getFirst(); + Value val = lv.get(0); FileArgument fdesc = new FileArgument(null, FileArgument.Type.NBT, null, false, false, FileArgument.Reason.CREATE, c.host); if (lv.size() > 1) { @@ -1049,7 +1049,7 @@ else if (fdesc.type == FileArgument.Type.JSON) expression.addContextFunction("statistic", 3, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; - ServerPlayer player = EntityValue.getPlayerByValue(cc.server(), lv.getFirst()); + ServerPlayer player = EntityValue.getPlayerByValue(cc.server(), lv.get(0)); if (player == null) { return Value.NULL; @@ -1078,7 +1078,7 @@ else if (fdesc.type == FileArgument.Type.JSON) { throw new InternalExpressionException("'handle_event' requires at least two arguments, event name, and a callback"); } - String event = lv.getFirst().getString(); + String event = lv.get(0).getString(); FunctionArgument callback = FunctionArgument.findIn(c, expression.module, lv, 1, true, false); CarpetScriptHost host = ((CarpetScriptHost) c.host); if (callback.function == null) @@ -1097,7 +1097,7 @@ else if (fdesc.type == FileArgument.Type.JSON) } CarpetContext cc = (CarpetContext) c; CarpetScriptServer server = ((CarpetScriptHost) c.host).scriptServer(); - String eventName = lv.getFirst().getString(); + String eventName = lv.get(0).getString(); // no such event yet if (CarpetEventServer.Event.getEvent(eventName, server) == null) { @@ -1135,7 +1135,7 @@ else if (fdesc.type == FileArgument.Type.JSON) { return ListValue.wrap(storage.keys().map(NBTSerializableValue::nameFromRegistryId)); } - String key = lv.getFirst().getString(); + String key = lv.get(0).getString(); CompoundTag oldNbt = storage.get(InputValidator.identifierOf(key)); if (lv.size() == 2) { @@ -1151,7 +1151,7 @@ else if (fdesc.type == FileArgument.Type.JSON) // script run create_datapack('foo', {'foo' -> {'bar.json' -> {'c' -> true,'d' -> false,'e' -> {'foo' -> [1,2,3]},'a' -> 'foobar','b' -> 5}}}) expression.addContextFunction("create_datapack", 2, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; - String origName = lv.getFirst().getString(); + String origName = lv.get(0).getString(); String name = InputValidator.validateSimpleString(origName, true); MinecraftServer server = cc.server(); for (String dpName : server.getPackRepository().getAvailableIds()) diff --git a/src/main/java/carpet/script/api/Entities.java b/src/main/java/carpet/script/api/Entities.java index 3291d0fd18..744f8c4338 100644 --- a/src/main/java/carpet/script/api/Entities.java +++ b/src/main/java/carpet/script/api/Entities.java @@ -76,7 +76,7 @@ public static void apply(Expression expression) Player closestPlayer = ((CarpetContext) c).level().getNearestPlayer(pos.x, pos.y, pos.z, -1.0, EntitySelector.ENTITY_STILL_ALIVE); return EntityValue.of(closestPlayer); } - String playerName = lv.getFirst().getString(); + String playerName = lv.get(0).getString(); return switch (playerName) { case "all" -> { @@ -106,7 +106,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'spawn' function takes mob name, and position to spawn"); } - String entityString = lv.getFirst().getString(); + String entityString = lv.get(0).getString(); ResourceLocation entityId; try { @@ -164,7 +164,7 @@ public static void apply(Expression expression) expression.addContextFunction("entity_id", 1, (c, t, lv) -> { - Value who = lv.getFirst(); + Value who = lv.get(0); if (who instanceof final NumericValue numericValue) { return EntityValue.of(((CarpetContext) c).level().getEntity((int) numericValue.getLong())); @@ -174,7 +174,7 @@ public static void apply(Expression expression) expression.addContextFunction("entity_list", 1, (c, t, lv) -> { - String who = lv.getFirst().getString(); + String who = lv.get(0).getString(); CommandSourceStack source = ((CarpetContext) c).source(); EntityValue.EntityClassDescriptor eDesc = EntityValue.getEntityDescriptor(who, source.getServer()); List entityList = source.getLevel().getEntities(eDesc.directType, eDesc.filteringPredicate); @@ -187,7 +187,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_area' requires entity type, center and range arguments"); } - String who = lv.getFirst().getString(); + String who = lv.get(0).getString(); CarpetContext cc = (CarpetContext) c; Vector3Argument centerLocator = Vector3Argument.findIn(lv, 1, false, true); @@ -219,7 +219,7 @@ public static void apply(Expression expression) expression.addContextFunction("entity_selector", -1, (c, t, lv) -> { - String selector = lv.getFirst().getString(); + String selector = lv.get(0).getString(); List retlist = new ArrayList<>(); for (Entity e : EntityValue.getEntitiesFromSelector(((CarpetContext) c).source(), selector)) { @@ -234,7 +234,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'query' takes entity as a first argument, and queried feature as a second"); } - Value v = lv.getFirst(); + Value v = lv.get(0); if (!(v instanceof final EntityValue ev)) { throw new InternalExpressionException("First argument to query should be an entity"); @@ -259,7 +259,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'modify' takes entity as a first argument, and queried feature as a second"); } - Value v = lv.getFirst(); + Value v = lv.get(0); if (!(v instanceof final EntityValue ev)) { throw new InternalExpressionException("First argument to modify should be an entity"); @@ -280,7 +280,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_types' requires one or no arguments"); } - String desc = (lv.size() == 1) ? lv.getFirst().getString() : "*"; + String desc = (lv.size() == 1) ? lv.get(0).getString() : "*"; return EntityValue.getEntityDescriptor(desc, ((CarpetContext) c).server()).listValue(((CarpetContext) c).registryAccess()); }); @@ -290,7 +290,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_load_handler' required the entity type, and a function to call"); } - Value entityValue = lv.getFirst(); + Value entityValue = lv.get(0); List descriptors = (entityValue instanceof final ListValue list) ? list.getItems().stream().map(Value::getString).toList() : Collections.singletonList(entityValue.getString()); @@ -327,7 +327,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'entity_event' requires at least 3 arguments, entity, event to be handled, and function name, with optional arguments"); } - Value v = lv.getFirst(); + Value v = lv.get(0); if (!(v instanceof final EntityValue ev)) { throw new InternalExpressionException("First argument to entity_event should be an entity"); diff --git a/src/main/java/carpet/script/api/Inventories.java b/src/main/java/carpet/script/api/Inventories.java index 45d41cd5c5..328868b9bd 100644 --- a/src/main/java/carpet/script/api/Inventories.java +++ b/src/main/java/carpet/script/api/Inventories.java @@ -56,7 +56,7 @@ public class Inventories public static void apply(Expression expression) { expression.addContextFunction("stack_limit", 1, (c, t, lv) -> - new NumericValue(NBTSerializableValue.parseItem(lv.getFirst().getString(), ((CarpetContext) c).registryAccess()).getMaxStackSize())); + new NumericValue(NBTSerializableValue.parseItem(lv.get(0).getString(), ((CarpetContext) c).registryAccess()).getMaxStackSize())); expression.addContextFunction("item_category", -1, (c, t, lv) -> { c.host.issueDeprecation("item_category in 1.19.3+"); @@ -71,7 +71,7 @@ public static void apply(Expression expression) { return ListValue.wrap(items.holders().map(itemReference -> ValueConversions.of(itemReference.key().location()))); } - String tag = lv.getFirst().getString(); + String tag = lv.get(0).getString(); Optional> itemTag = items.getTag(TagKey.create(Registries.ITEM, InputValidator.identifierOf(tag))); return itemTag.isEmpty() ? Value.NULL : ListValue.wrap(itemTag.get().stream().map(b -> items.getKey(b.value())).filter(Objects::nonNull).map(ValueConversions::of)); }); @@ -85,7 +85,7 @@ public static void apply(Expression expression) { return ListValue.wrap(blocks.getTagNames().map(ValueConversions::of)); } - Item item = NBTSerializableValue.parseItem(lv.getFirst().getString(), cc.registryAccess()).getItem(); + Item item = NBTSerializableValue.parseItem(lv.get(0).getString(), cc.registryAccess()).getItem(); if (lv.size() == 1) { return ListValue.wrap(blocks.getTags().filter(e -> e.getSecond().stream().anyMatch(h -> (h.value() == item))).map(e -> ValueConversions.of(e.getFirst()))); @@ -98,11 +98,11 @@ public static void apply(Expression expression) expression.addContextFunction("recipe_data", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; - if (lv.size() < 1) + if (lv.isEmpty()) { throw new InternalExpressionException("'recipe_data' requires at least one argument"); } - String recipeName = lv.getFirst().getString(); + String recipeName = lv.get(0).getString(); RecipeType type = RecipeType.CRAFTING; if (lv.size() > 1) { @@ -183,7 +183,7 @@ else if (recipe instanceof CustomRecipe) expression.addContextFunction("crafting_remaining_item", 1, (c, t, v) -> { - String itemStr = v.getFirst().getString(); + String itemStr = v.get(0).getString(); ResourceLocation id = InputValidator.identifierOf(itemStr); Registry registry = ((CarpetContext) c).registry(Registries.ITEM); Item item = registry.getOptional(id).orElseThrow(() -> new ThrowStatement(itemStr, Throwables.UNKNOWN_ITEM)); @@ -460,7 +460,7 @@ else if (owner instanceof LivingEntity livingEntity) { throw new InternalExpressionException("'create_screen' requires at least three arguments"); } - Value playerValue = lv.getFirst(); + Value playerValue = lv.get(0); ServerPlayer player = EntityValue.getPlayerByValue(((CarpetContext) c).server(), playerValue); if (player == null) { @@ -479,7 +479,7 @@ else if (owner instanceof LivingEntity livingEntity) expression.addContextFunction("close_screen", 1, (c, t, lv) -> { - Value value = lv.getFirst(); + Value value = lv.get(0); if (!(value instanceof ScreenValue screenValue)) { throw new InternalExpressionException("'close_screen' requires a screen value as the first argument."); @@ -498,7 +498,7 @@ else if (owner instanceof LivingEntity livingEntity) { throw new InternalExpressionException("'screen_property' requires at least a screen and a property name"); } - if (!(lv.getFirst() instanceof ScreenValue screenValue)) + if (!(lv.get(0) instanceof ScreenValue screenValue)) { throw new InternalExpressionException("'screen_property' requires a screen value as the first argument"); } diff --git a/src/main/java/carpet/script/api/Monitoring.java b/src/main/java/carpet/script/api/Monitoring.java index 76a274a9ca..5f232af020 100644 --- a/src/main/java/carpet/script/api/Monitoring.java +++ b/src/main/java/carpet/script/api/Monitoring.java @@ -37,7 +37,7 @@ public static void apply(Expression expression) } if (lv.size() == 1) { - String what = lv.getFirst().getString(); + String what = lv.get(0).getString(); Value res = SystemInfo.get(what, (CarpetContext) c); if (res == null) { @@ -74,7 +74,7 @@ public static void apply(Expression expression) } return MapValue.wrap(retDict); } - String catString = lv.getFirst().getString(); + String catString = lv.get(0).getString(); MobCategory cat = MOB_CATEGORY_MAP.get(catString.toLowerCase(Locale.ROOT)); if (cat == null) { diff --git a/src/main/java/carpet/script/api/Scoreboards.java b/src/main/java/carpet/script/api/Scoreboards.java index 5c63e277cb..cd282d7e88 100644 --- a/src/main/java/carpet/script/api/Scoreboards.java +++ b/src/main/java/carpet/script/api/Scoreboards.java @@ -57,7 +57,7 @@ public static void apply(Expression expression) { return ListValue.wrap(scoreboard.getObjectiveNames().stream().map(StringValue::new)); } - String objectiveName = lv.getFirst().getString(); + String objectiveName = lv.get(0).getString(); Objective objective = scoreboard.getObjective(objectiveName); if (objective == null) { @@ -100,7 +100,7 @@ public static void apply(Expression expression) } CarpetContext cc = (CarpetContext) c; Scoreboard scoreboard = cc.server().getScoreboard(); - String objectiveName = lv.getFirst().getString(); + String objectiveName = lv.get(0).getString(); Objective objective = scoreboard.getObjective(objectiveName); if (objective == null) { @@ -133,7 +133,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'scoreboard_add' should have one or two parameters"); } - String objectiveName = lv.getFirst().getString(); + String objectiveName = lv.get(0).getString(); ObjectiveCriteria criterion; if (lv.size() == 1) { @@ -179,7 +179,7 @@ public static void apply(Expression expression) } CarpetContext cc = (CarpetContext) c; Scoreboard scoreboard = cc.server().getScoreboard(); - Objective objective = scoreboard.getObjective(lv.getFirst().getString()); + Objective objective = scoreboard.getObjective(lv.get(0).getString()); if (objective == null) { return Value.NULL; @@ -269,7 +269,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; Scoreboard scoreboard = cc.server().getScoreboard(); - String location = lv.getFirst().getString(); + String location = lv.get(0).getString(); DisplaySlot slot = DisplaySlot.CODEC.byName(location); if (slot == null) { @@ -307,7 +307,7 @@ public static void apply(Expression expression) { return Value.NULL; } - PlayerTeam team = scoreboard.getPlayerTeam(lv.getFirst().getString()); + PlayerTeam team = scoreboard.getPlayerTeam(lv.get(0).getString()); return team == null ? Value.NULL : ListValue.wrap(team.getPlayers().stream().map(StringValue::of)); }); @@ -321,7 +321,7 @@ public static void apply(Expression expression) CarpetContext cc = (CarpetContext) c; ServerScoreboard scoreboard = cc.server().getScoreboard(); - String teamName = lv.getFirst().getString(); + String teamName = lv.get(0).getString(); if (lv.size() == 1) { @@ -359,7 +359,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; ServerScoreboard scoreboard = cc.server().getScoreboard(); - Value teamVal = lv.getFirst(); + Value teamVal = lv.get(0); PlayerTeam team = scoreboard.getPlayerTeam(teamVal.getString()); if (team == null) { @@ -374,7 +374,7 @@ public static void apply(Expression expression) { CarpetContext cc = (CarpetContext) c; ServerScoreboard scoreboard = cc.server().getScoreboard(); - Value playerVal = lv.getFirst(); + Value playerVal = lv.get(0); String player = EntityValue.getPlayerNameByValue(playerVal); return player == null ? Value.NULL : BooleanValue.of(scoreboard.removePlayerFromTeam(player)); }); @@ -387,7 +387,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'team_property' requires two or three arguments"); } - Value teamVal = lv.getFirst(); + Value teamVal = lv.get(0); Value propertyVal = lv.get(1); Value settingVal = null; @@ -548,7 +548,7 @@ public static void apply(Expression expression) return ListValue.wrap(bossBarManager.getEvents().stream().map(CustomBossEvent::getTextId).map(ResourceLocation::toString).map(StringValue::of)); } - String id = lv.getFirst().getString(); + String id = lv.get(0).getString(); ResourceLocation identifier = InputValidator.identifierOf(id); if (lv.size() == 1) diff --git a/src/main/java/carpet/script/api/Threading.java b/src/main/java/carpet/script/api/Threading.java index 71dd30a4b1..504838c6e3 100644 --- a/src/main/java/carpet/script/api/Threading.java +++ b/src/main/java/carpet/script/api/Threading.java @@ -20,7 +20,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'task_join' cannot be called from main thread to avoid deadlocks"); } - Value v = lv.getFirst(); + Value v = lv.get(0); if (!(v instanceof final ThreadValue tv)) { throw new InternalExpressionException("'task_join' could only be used with a task value"); @@ -34,7 +34,7 @@ public static void apply(Expression expression) MinecraftServer server = cc.server(); if (server.isSameThread()) { - return lv.getFirst(); // pass through for on thread tasks + return lv.get(0); // pass through for on thread tasks } Value[] result = new Value[]{Value.NULL}; RuntimeException[] internal = new RuntimeException[]{null}; @@ -44,7 +44,7 @@ public static void apply(Expression expression) { try { - result[0] = lv.getFirst().evalValue(c, t); + result[0] = lv.get(0).evalValue(c, t); } catch (ExpressionException exc) { diff --git a/src/main/java/carpet/script/api/WorldAccess.java b/src/main/java/carpet/script/api/WorldAccess.java index c1dc36a618..e409e773c1 100644 --- a/src/main/java/carpet/script/api/WorldAccess.java +++ b/src/main/java/carpet/script/api/WorldAccess.java @@ -164,7 +164,7 @@ private static Value booleanStateTest( { throw new InternalExpressionException("'" + name + "' requires at least one parameter"); } - if (params.getFirst() instanceof final BlockValue bv) + if (params.get(0) instanceof final BlockValue bv) { return BooleanValue.of(test.test(bv.getBlockState(), bv.getPos())); } @@ -184,7 +184,7 @@ private static Value stateStringQuery( { throw new InternalExpressionException("'" + name + "' requires at least one parameter"); } - if (params.getFirst() instanceof final BlockValue bv) + if (params.get(0) instanceof final BlockValue bv) { return StringValue.of(test.apply(bv.getBlockState(), bv.getPos())); } @@ -204,7 +204,7 @@ private static Value genericStateTest( { throw new InternalExpressionException("'" + name + "' requires at least one parameter"); } - if (params.getFirst() instanceof final BlockValue bv) + if (params.get(0) instanceof final BlockValue bv) { try { @@ -439,7 +439,7 @@ else if (!("any".equals(statusString))) return new StringValue(world.isThundering() ? "thunder" : (world.isRaining() ? "rain" : "clear")); } - Value weather = lv.getFirst(); + Value weather = lv.get(0); ServerLevelData worldProperties = Vanilla.ServerLevel_getWorldProperties(world); if (lv.size() == 1) { @@ -577,7 +577,7 @@ else if (!("any".equals(statusString))) expression.addContextFunction("top", -1, (c, t, lv) -> { - String type = lv.getFirst().getString().toLowerCase(Locale.ROOT); + String type = lv.get(0).getString().toLowerCase(Locale.ROOT); Heightmap.Types htype = switch (type) { //case "light": htype = Heightmap.Type.LIGHT_BLOCKING; break; //investigate @@ -720,7 +720,7 @@ else if (!("any".equals(statusString))) { if (Carpet.getImpendingFillSkipUpdates().get()) { - return lv.getFirst(); + return lv.get(0); } Value[] result = new Value[]{Value.NULL}; ((CarpetContext) c).server().executeBlocking(() -> @@ -730,7 +730,7 @@ else if (!("any".equals(statusString))) try { skipUpdates.set(true); - result[0] = lv.getFirst().evalValue(c, t); + result[0] = lv.get(0).evalValue(c, t); } finally { @@ -756,7 +756,7 @@ else if (!("any".equals(statusString))) { args.add(lv.get(i)); } - if (args.getFirst() instanceof final ListValue list) + if (args.get(0) instanceof final ListValue list) { if (args.size() == 2 && NBTSerializableValue.fromValue(args.get(1)) instanceof final NBTSerializableValue nbtsv) { @@ -764,7 +764,7 @@ else if (!("any".equals(statusString))) } args = list.getItems(); } - else if (args.getFirst() instanceof final MapValue map) + else if (args.get(0) instanceof final MapValue map) { if (args.size() == 2 && NBTSerializableValue.fromValue(args.get(1)) instanceof final NBTSerializableValue nbtsv) { @@ -964,7 +964,7 @@ else if (item instanceof TridentItem || item instanceof SwordItem) } CarpetContext cc = (CarpetContext) c; Level world = cc.level(); - Value entityValue = lv.getFirst(); + Value entityValue = lv.get(0); if (!(entityValue instanceof final EntityValue ev)) { return Value.FALSE; @@ -1105,7 +1105,7 @@ LivingEntity getIndirectSourceEntity() throw new InternalExpressionException("'place_item' takes at least 2 parameters: item and block, or position, to place onto"); } CarpetContext cc = (CarpetContext) c; - String itemString = lv.getFirst().getString(); + String itemString = lv.get(0).getString(); Vector3Argument locator = Vector3Argument.findIn(lv, 1); ItemStack stackArg = NBTSerializableValue.parseItem(itemString, cc.registryAccess()); BlockPos where = BlockPos.containing(locator.vec); @@ -1225,7 +1225,7 @@ LivingEntity getIndirectSourceEntity() { return ListValue.wrap(blocks.holders().map(blockReference -> ValueConversions.of(blockReference.key().location()))); } - ResourceLocation tag = InputValidator.identifierOf(lv.getFirst().getString()); + ResourceLocation tag = InputValidator.identifierOf(lv.get(0).getString()); Optional> tagset = blocks.getTag(TagKey.create(Registries.BLOCK, tag)); return tagset.isEmpty() ? Value.NULL : ListValue.wrap(tagset.get().stream().map(b -> ValueConversions.of(blocks.getKey(b.value())))); }); @@ -1248,7 +1248,6 @@ LivingEntity getIndirectSourceEntity() Optional> tagSet = blocks.getTag(TagKey.create(Registries.BLOCK, InputValidator.identifierOf(tag))); return tagSet.isEmpty() ? Value.NULL : BooleanValue.of(blockLocator.block.getBlockState().is(tagSet.get())); }); - expression.addContextFunction("biome", -1, (c, t, lv) -> { CarpetContext cc = (CarpetContext) c; ServerLevel world = cc.level(); @@ -1260,7 +1259,7 @@ LivingEntity getIndirectSourceEntity() Biome biome; BiomeSource biomeSource = world.getChunkSource().getGenerator().getBiomeSource(); if (lv.size() == 1 - && lv.getFirst() instanceof final MapValue map + && lv.get(0) instanceof final MapValue map && biomeSource instanceof final MultiNoiseBiomeSource mnbs ) { @@ -1461,7 +1460,7 @@ LivingEntity getIndirectSourceEntity() } if (singleOutput) { - StructureStart start = FeatureGenerator.shouldStructureStartAt(world, pos, structure.getFirst(), needSize); + StructureStart start = FeatureGenerator.shouldStructureStartAt(world, pos, structure.get(0), needSize); return start == null ? Value.NULL : !needSize ? Value.TRUE : ValueConversions.of(start, cc.registryAccess()); } Map ret = new HashMap<>(); @@ -1588,7 +1587,7 @@ LivingEntity getIndirectSourceEntity() if (lv.size() == 1) { //either one block or list of chunks - Value first = lv.getFirst(); + Value first = lv.get(0); if (first instanceof final ListValue list) { List listVal = list.getItems(); diff --git a/src/main/java/carpet/script/argument/FileArgument.java b/src/main/java/carpet/script/argument/FileArgument.java index e172cf5d4e..f4853a5a03 100644 --- a/src/main/java/carpet/script/argument/FileArgument.java +++ b/src/main/java/carpet/script/argument/FileArgument.java @@ -138,7 +138,7 @@ public static FileArgument from(Context context, List lv, boolean isFolde { throw new InternalExpressionException("Unsupported file type: " + origtype); } - Pair resource = recognizeResource(lv.getFirst().getString(), isFolder, type); + Pair resource = recognizeResource(lv.get(0).getString(), isFolder, type); if (type == Type.FOLDER && !isFolder) { throw new InternalExpressionException("Folder types are no supported for this IO function"); diff --git a/src/main/java/carpet/script/argument/FunctionArgument.java b/src/main/java/carpet/script/argument/FunctionArgument.java index 33ecfc4fa8..b30f2f5606 100644 --- a/src/main/java/carpet/script/argument/FunctionArgument.java +++ b/src/main/java/carpet/script/argument/FunctionArgument.java @@ -95,7 +95,7 @@ public static FunctionArgument fromCommandSpec(ScriptHost host, Value funSpec) t { throw CommandArgument.error("Function has empty spec"); } - Value first = params.getFirst(); + Value first = params.get(0); if (first instanceof FunctionValue) { function = (FunctionValue) first; diff --git a/src/main/java/carpet/script/argument/Vector3Argument.java b/src/main/java/carpet/script/argument/Vector3Argument.java index 83d9fe8313..6f475f44a1 100644 --- a/src/main/java/carpet/script/argument/Vector3Argument.java +++ b/src/main/java/carpet/script/argument/Vector3Argument.java @@ -81,7 +81,7 @@ public static Vector3Argument findIn(Iterator params, int offset, boolean { List args = ((ListValue) v1).getItems(); Vec3 pos = new Vec3( - NumericValue.asNumber(args.getFirst()).getDouble(), + NumericValue.asNumber(args.get(0)).getDouble(), NumericValue.asNumber(args.get(1)).getDouble(), NumericValue.asNumber(args.get(2)).getDouble()); double yaw = 0.0D; diff --git a/src/main/java/carpet/script/command/CommandArgument.java b/src/main/java/carpet/script/command/CommandArgument.java index b0f95171aa..eb600ff218 100644 --- a/src/main/java/carpet/script/command/CommandArgument.java +++ b/src/main/java/carpet/script/command/CommandArgument.java @@ -285,7 +285,7 @@ public static CommandSyntaxException error(String text) public static final Map builtIns = baseTypes.stream().collect(Collectors.toMap(CommandArgument::getTypeSuffix, a -> a)); - public static final CommandArgument DEFAULT = baseTypes.getFirst(); + public static final CommandArgument DEFAULT = baseTypes.get(0); public static CommandArgument getTypeForArgument(String argument, CarpetScriptHost host) { diff --git a/src/main/java/carpet/script/language/Arithmetic.java b/src/main/java/carpet/script/language/Arithmetic.java index 4d98672359..ca649abe98 100644 --- a/src/main/java/carpet/script/language/Arithmetic.java +++ b/src/main/java/carpet/script/language/Arithmetic.java @@ -15,7 +15,7 @@ public class Arithmetic public static void apply(Expression expression) { - expression.addTypedContextFunction("not", 1, Context.Type.BOOLEAN, (c, t, lv) -> BooleanValue.of(lv.getFirst().getBoolean())); + expression.addTypedContextFunction("not", 1, Context.Type.BOOLEAN, (c, t, lv) -> BooleanValue.of(lv.get(0).getBoolean())); expression.addUnaryFunction("fact", v -> { long number = NumericValue.asNumber(v).getLong(); @@ -106,9 +106,9 @@ else if (number > 170) throw new InternalExpressionException("'max' requires at least one parameter"); } Value max = null; - if (lv.size() == 1 && lv.getFirst() instanceof ListValue) + if (lv.size() == 1 && lv.get(0) instanceof ListValue) { - lv = ((ListValue) lv.getFirst()).getItems(); + lv = ((ListValue) lv.get(0)).getItems(); } for (Value parameter : lv) { @@ -127,9 +127,9 @@ else if (number > 170) throw new InternalExpressionException("'min' requires at least one parameter"); } Value min = null; - if (lv.size() == 1 && lv.getFirst() instanceof ListValue) + if (lv.size() == 1 && lv.get(0) instanceof ListValue) { - lv = ((ListValue) lv.getFirst()).getItems(); + lv = ((ListValue) lv.get(0)).getItems(); } for (Value parameter : lv) { diff --git a/src/main/java/carpet/script/language/ControlFlow.java b/src/main/java/carpet/script/language/ControlFlow.java index 437daee781..9da3965d92 100644 --- a/src/main/java/carpet/script/language/ControlFlow.java +++ b/src/main/java/carpet/script/language/ControlFlow.java @@ -65,7 +65,7 @@ public static void apply(Expression expression) // public just to get the javado }); expression.addImpureFunction("exit", lv -> { - throw new ExitStatement(lv.isEmpty() ? Value.NULL : lv.getFirst()); + throw new ExitStatement(lv.isEmpty() ? Value.NULL : lv.get(0)); }); expression.addImpureFunction("throw", lv -> @@ -75,7 +75,7 @@ public static void apply(Expression expression) // public just to get the javado case 0 -> throw new ThrowStatement(Value.NULL, Throwables.USER_DEFINED); case 1 -> throw new ThrowStatement(lv.get(0), Throwables.USER_DEFINED); case 2 -> throw new ThrowStatement(lv.get(1), Throwables.getTypeForException(lv.get(0).getString())); - case 3 -> throw new ThrowStatement(lv.get(2), Throwables.getTypeForException(lv.get(1).getString()), lv.getFirst().getString()); + case 3 -> throw new ThrowStatement(lv.get(2), Throwables.getTypeForException(lv.get(1).getString()), lv.get(0).getString()); default -> throw new InternalExpressionException("throw() can't accept more than 3 parameters"); } }); @@ -89,7 +89,7 @@ public static void apply(Expression expression) // public just to get the javado } try { - Value retval = lv.getFirst().evalValue(c, t); + Value retval = lv.get(0).evalValue(c, t); return (ct, tt) -> retval; } catch (ProcessedThrowStatement ret) diff --git a/src/main/java/carpet/script/language/DataStructures.java b/src/main/java/carpet/script/language/DataStructures.java index 946c9033f3..24adb64284 100644 --- a/src/main/java/carpet/script/language/DataStructures.java +++ b/src/main/java/carpet/script/language/DataStructures.java @@ -30,7 +30,7 @@ public class DataStructures public static void apply(Expression expression) { expression.addFunction("l", lv -> - lv.size() == 1 && lv.getFirst() instanceof final LazyListValue llv + lv.size() == 1 && lv.get(0) instanceof final LazyListValue llv ? ListValue.wrap(llv.unroll()) : new ListValue.ListConstructorValue(lv)); @@ -40,7 +40,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'join' takes at least 2 arguments"); } - String delimiter = lv.getFirst().getString(); + String delimiter = lv.get(0).getString(); List toJoin; if (lv.size() == 2 && lv.get(1) instanceof final LazyListValue llv) { @@ -63,12 +63,12 @@ else if (lv.size() == 2 && lv.get(1) instanceof final ListValue llv) Value hwat; if (lv.size() == 1) { - hwat = lv.getFirst(); + hwat = lv.get(0); delimiter = null; } else if (lv.size() == 2) { - delimiter = lv.getFirst(); + delimiter = lv.get(0); hwat = lv.get(1); } else @@ -84,7 +84,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("'slice' takes 2 or 3 arguments"); } - Value hwat = lv.getFirst(); + Value hwat = lv.get(0); long from = NumericValue.asNumber(lv.get(1)).getLong(); Long to = null; if (lv.size() == 3) @@ -97,7 +97,7 @@ else if (lv.size() == 2) expression.addFunction("sort", lv -> { List toSort = lv; - if (lv.size() == 1 && lv.getFirst() instanceof final ListValue llv) + if (lv.size() == 1 && lv.get(0) instanceof final ListValue llv) { toSort = new ArrayList<>(llv.getItems()); } @@ -112,7 +112,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("First argument for 'sort_key' should be a List"); } - Value v = lv.getFirst().evalValue(c); + Value v = lv.get(0).evalValue(c); if (!(v instanceof final ListValue list)) { throw new InternalExpressionException("First argument for 'sort_key' should be a List"); @@ -150,7 +150,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("'range' accepts from 1 to 3 arguments, not " + argsize); } - to = NumericValue.asNumber(lv.getFirst()); + to = NumericValue.asNumber(lv.get(0)); if (lv.size() > 1) { from = to; @@ -166,7 +166,7 @@ else if (lv.size() == 2) }); expression.addTypedContextFunction("m", -1, Context.MAPDEF, (c, t, lv) -> - lv.size() == 1 && lv.getFirst() instanceof final LazyListValue llv + lv.size() == 1 && lv.get(0) instanceof final LazyListValue llv ? new MapValue(llv.unroll()) : new MapValue(lv) ); @@ -217,7 +217,7 @@ else if (lv.size() == 2) } if (lv.size() == 1) { - Value v = lv.getFirst().evalValue(c, Context.LVALUE); + Value v = lv.get(0).evalValue(c, Context.LVALUE); if (!(v instanceof final LContainerValue lcv)) { return LazyValue.NULL; @@ -230,7 +230,7 @@ else if (lv.size() == 2) Value ret = container.get(lcv.address()); return (cc, tt) -> ret; } - Value container = lv.getFirst().evalValue(c); + Value container = lv.get(0).evalValue(c); for (int i = 1; i < lv.size(); i++) { if (!(container instanceof final ContainerValueInterface cvi)) @@ -256,7 +256,7 @@ else if (lv.size() == 2) } if (lv.size() == 1) { - Value v = lv.getFirst().evalValue(c, Context.LVALUE); + Value v = lv.get(0).evalValue(c, Context.LVALUE); if (!(v instanceof final LContainerValue lcv)) { return LazyValue.NULL; @@ -269,7 +269,7 @@ else if (lv.size() == 2) Value ret = BooleanValue.of(container.has(lcv.address())); return (cc, tt) -> ret; } - Value container = lv.getFirst().evalValue(c); + Value container = lv.get(0).evalValue(c); for (int i = 1; i < lv.size() - 1; i++) { if (!(container instanceof final ContainerValueInterface cvi)) @@ -293,7 +293,7 @@ else if (lv.size() == 2) { throw new InternalExpressionException("'put' takes at least three arguments, a container, address, and values to insert at that index"); } - Value container = lv.getFirst().evalValue(c, Context.LVALUE); + Value container = lv.get(0).evalValue(c, Context.LVALUE); if (container instanceof final LContainerValue lcv) { ContainerValueInterface internalContainer = lcv.container(); @@ -334,7 +334,7 @@ else if (lv.size() == 2) } if (lv.size() == 1) { - Value v = lv.getFirst().evalValue(c, Context.LVALUE); + Value v = lv.get(0).evalValue(c, Context.LVALUE); if (!(v instanceof final LContainerValue lcv)) { return LazyValue.NULL; @@ -347,7 +347,7 @@ else if (lv.size() == 2) Value ret = BooleanValue.of(container.delete(lcv.address())); return (cc, tt) -> ret; } - Value container = lv.getFirst().evalValue(c); + Value container = lv.get(0).evalValue(c); for (int i = 1; i < lv.size() - 1; i++) { if (!(container instanceof final ContainerValueInterface cvi)) diff --git a/src/main/java/carpet/script/language/Functions.java b/src/main/java/carpet/script/language/Functions.java index 3482303ae7..8bc29712df 100644 --- a/src/main/java/carpet/script/language/Functions.java +++ b/src/main/java/carpet/script/language/Functions.java @@ -30,7 +30,7 @@ public static void apply(Expression expression) // public just to get the javado { throw new InternalExpressionException("'import' needs at least a module name to import, and list of values to import"); } - String moduleName = lv.getFirst().getString(); + String moduleName = lv.get(0).getString(); c.host.importModule(c, moduleName); moduleName = moduleName.toLowerCase(Locale.ROOT); if (lv.size() > 1) @@ -60,7 +60,7 @@ public LazyValue lazyEval(Context c, Context.Type t, Expression expr, Tokenizer. return fun.callInContext(c, t, functionArgument.args); } // gimme signature - String name = lv.getFirst().evalValue(c, Context.NONE).getString(); + String name = lv.get(0).evalValue(c, Context.NONE).getString(); List args = new ArrayList<>(); List globals = new ArrayList<>(); String varArgs = null; @@ -121,7 +121,7 @@ public Context.Type staticType(Context.Type outerType) { throw new InternalExpressionException("Outer scoping of variables is only possible in function signatures."); } - return new FunctionAnnotationValue(lv.getFirst(), FunctionAnnotationValue.Type.GLOBAL); + return new FunctionAnnotationValue(lv.get(0), FunctionAnnotationValue.Type.GLOBAL); }); //assigns const procedure to the lhs, returning its previous value @@ -143,7 +143,7 @@ public Context.Type staticType(Context.Type outerType) }); expression.addImpureFunction("return", lv -> { - throw new ReturnStatement(lv.size() == 0 ? Value.NULL : lv.getFirst()); + throw new ReturnStatement(lv.size() == 0 ? Value.NULL : lv.get(0)); }); } } diff --git a/src/main/java/carpet/script/language/Loops.java b/src/main/java/carpet/script/language/Loops.java index 7302053a4f..552325dfde 100644 --- a/src/main/java/carpet/script/language/Loops.java +++ b/src/main/java/carpet/script/language/Loops.java @@ -30,7 +30,7 @@ public static void apply(Expression expression) } if (lv.size() == 1) { - throw new BreakStatement(lv.getFirst()); + throw new BreakStatement(lv.get(0)); } throw new InternalExpressionException("'break' can only be called with zero or one argument"); }); @@ -43,7 +43,7 @@ public static void apply(Expression expression) } if (lv.size() == 1) { - throw new ContinueStatement(lv.getFirst()); + throw new ContinueStatement(lv.get(0)); } throw new InternalExpressionException("'continue' can only be called with zero or one argument"); }); @@ -52,7 +52,7 @@ public static void apply(Expression expression) expression.addLazyFunction("while", -1, (c, t, lv) -> { if (lv.size() == 2) { // lets do nasty way so performance is not affected (might be super unnecessary, but hey) - LazyValue condition = lv.getFirst(); + LazyValue condition = lv.get(0); LazyValue expr = lv.get(1); long i = 0; Value lastOne = Value.NULL; @@ -86,7 +86,7 @@ public static void apply(Expression expression) return (cc, tt) -> lastValueNoKidding; } long limit = NumericValue.asNumber(lv.get(1).evalValue(c)).getLong(); - LazyValue condition = lv.getFirst(); + LazyValue condition = lv.get(0); LazyValue expr = lv.get(2); long i = 0; Value lastOne = Value.NULL; @@ -124,7 +124,7 @@ public static void apply(Expression expression) // expr receives bounded variable '_' indicating iteration expression.addLazyFunction("loop", 2, (c, t, lv) -> { - long limit = NumericValue.asNumber(lv.getFirst().evalValue(c, Context.NONE)).getLong(); + long limit = NumericValue.asNumber(lv.get(0).evalValue(c, Context.NONE)).getLong(); Value lastOne = Value.NULL; LazyValue expr = lv.get(1); //scoping @@ -159,7 +159,7 @@ public static void apply(Expression expression) // receives bounded variable '_' with the expression expression.addLazyFunction("map", 2, (c, t, lv) -> { - Value rval = lv.getFirst().evalValue(c, Context.NONE); + Value rval = lv.get(0).evalValue(c, Context.NONE); if (rval.isNull()) { return ListValue.lazyEmpty(); @@ -216,7 +216,7 @@ public static void apply(Expression expression) // produces list of values for which the expression is true expression.addLazyFunction("filter", 2, (c, t, lv) -> { - Value rval = lv.getFirst().evalValue(c, Context.NONE); + Value rval = lv.get(0).evalValue(c, Context.NONE); if (rval.isNull()) { return ListValue.lazyEmpty(); @@ -276,7 +276,7 @@ public static void apply(Expression expression) // returns first element on the list for which the expr is true expression.addLazyFunction("first", 2, (c, t, lv) -> { - Value rval = lv.getFirst().evalValue(c, Context.NONE); + Value rval = lv.get(0).evalValue(c, Context.NONE); if (rval.isNull()) { return LazyValue.NULL; @@ -336,7 +336,7 @@ public static void apply(Expression expression) // returns true if expr is true for all items expression.addLazyFunction("all", 2, (c, t, lv) -> { - Value rval = lv.getFirst().evalValue(c, Context.NONE); + Value rval = lv.get(0).evalValue(c, Context.NONE); if (rval.isNull()) { return LazyValue.TRUE; @@ -380,7 +380,7 @@ public static void apply(Expression expression) // runs traditional for(init, condition, increment, body) tri-argument for loop with body in between expression.addLazyFunction("c_for", 4, (c, t, lv) -> { - LazyValue initial = lv.getFirst(); + LazyValue initial = lv.get(0); LazyValue condition = lv.get(1); LazyValue increment = lv.get(2); LazyValue body = lv.get(3); @@ -409,7 +409,7 @@ public static void apply(Expression expression) // can be substituted for first and all, but first is more efficient and all doesn't require knowing list size expression.addLazyFunction("for", 2, (c, t, lv) -> { - Value rval = lv.getFirst().evalValue(c, Context.NONE); + Value rval = lv.get(0).evalValue(c, Context.NONE); if (rval.isNull()) { return LazyValue.ZERO; @@ -474,7 +474,7 @@ public static void apply(Expression expression) expression.addLazyFunction("reduce", 3, (c, t, lv) -> { - Value rval = lv.getFirst().evalValue(c, Context.NONE); + Value rval = lv.get(0).evalValue(c, Context.NONE); if (rval.isNull()) { return ListValue.lazyEmpty(); diff --git a/src/main/java/carpet/script/language/Operators.java b/src/main/java/carpet/script/language/Operators.java index 8efe34dd72..a1c2d1a2d7 100644 --- a/src/main/java/carpet/script/language/Operators.java +++ b/src/main/java/carpet/script/language/Operators.java @@ -48,7 +48,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.getFirst(); + Value accumulator = lv.get(0); for (Value v : lv.subList(1, size)) { accumulator = accumulator.add(v); @@ -64,7 +64,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.getFirst(); + Value accumulator = lv.get(0); for (Value v : lv.subList(1, size)) { accumulator = accumulator.subtract(v); @@ -80,7 +80,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.getFirst(); + Value accumulator = lv.get(0); for (Value v : lv.subList(1, size)) { accumulator = accumulator.multiply(v); @@ -96,7 +96,7 @@ public static void apply(Expression expression) { return Value.NULL; } - Value accumulator = lv.getFirst(); + Value accumulator = lv.get(0); for (Value v : lv.subList(1, size)) { accumulator = accumulator.divide(v); @@ -116,7 +116,7 @@ public static void apply(Expression expression) { return Value.NULL; } - long accumulator = NumericValue.asNumber(lv.getFirst()).getLong(); + long accumulator = NumericValue.asNumber(lv.get(0)).getLong(); for (Value v : lv.subList(1, size)) { accumulator = accumulator & NumericValue.asNumber(v).getLong(); @@ -130,7 +130,7 @@ public static void apply(Expression expression) { return Value.NULL; } - long accumulator = NumericValue.asNumber(lv.getFirst()).getLong(); + long accumulator = NumericValue.asNumber(lv.get(0)).getLong(); for (Value v : lv.subList(1, size)) { accumulator = accumulator ^ NumericValue.asNumber(v).getLong(); @@ -144,7 +144,7 @@ public static void apply(Expression expression) { return Value.NULL; } - long accumulator = NumericValue.asNumber(lv.getFirst()).getLong(); + long accumulator = NumericValue.asNumber(lv.get(0)).getLong(); for (Value v : lv.subList(1, size)) { accumulator = accumulator | NumericValue.asNumber(v).getLong(); @@ -238,7 +238,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.getFirst(); + Value prev = lv.get(0); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) <= 0) @@ -259,7 +259,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.getFirst(); + Value prev = lv.get(0); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) < 0) @@ -280,7 +280,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.getFirst(); + Value prev = lv.get(0); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) >= 0) @@ -301,7 +301,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.getFirst(); + Value prev = lv.get(0); for (Value next : lv.subList(1, size)) { if (prev.compareTo(next) > 0) @@ -334,7 +334,7 @@ public static void apply(Expression expression) { return Value.TRUE; } - Value prev = lv.getFirst(); + Value prev = lv.get(0); for (Value next : lv.subList(1, size)) { if (!prev.equals(next)) @@ -356,7 +356,7 @@ public static void apply(Expression expression) } // need to order them so same obejects will be next to each other. lv.sort(Comparator.comparingInt(Value::hashCode)); - Value prev = lv.getFirst(); + Value prev = lv.get(0); for (Value next : lv.subList(1, size)) { if (prev.equals(next)) diff --git a/src/main/java/carpet/script/language/Sys.java b/src/main/java/carpet/script/language/Sys.java index 04b327f4d0..31d13c7d5a 100644 --- a/src/main/java/carpet/script/language/Sys.java +++ b/src/main/java/carpet/script/language/Sys.java @@ -39,7 +39,7 @@ public static void apply(Expression expression) expression.addTypedContextFunction("bool", 1, Context.BOOLEAN, (c, t, lv) -> { - Value v = lv.getFirst(); + Value v = lv.get(0); if (v instanceof StringValue) { String str = v.getString().toLowerCase(Locale.ROOT); @@ -77,7 +77,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'str' requires at least one argument"); } - String format = lv.getFirst().getString(); + String format = lv.get(0).getString(); if (lv.size() == 1) { return new StringValue(format); @@ -173,7 +173,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'replace' expects string to read, pattern regex, and optional replacement string"); } - String data = lv.getFirst().getString(); + String data = lv.get(0).getString(); String regex = lv.get(1).getString(); String replacement = ""; if (lv.size() == 3) @@ -196,7 +196,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'replace_first' expects string to read, pattern regex, and optional replacement string"); } - String data = lv.getFirst().getString(); + String data = lv.get(0).getString(); String regex = lv.get(1).getString(); String replacement = ""; if (lv.size() == 3) @@ -220,7 +220,7 @@ else if (fmt != '%') { randomizer = c.host.getRandom(NumericValue.asNumber(lv.get(1)).getLong()); } - Value argument = lv.getFirst(); + Value argument = lv.get(0); if (argument instanceof final ListValue listValue) { List list = listValue.getItems(); @@ -230,7 +230,7 @@ else if (fmt != '%') return t == Context.BOOLEAN ? BooleanValue.of(value >= 1.0D) : new NumericValue(value); }); expression.addContextFunction("reset_seed", 1, (c, t, lv) -> { - boolean gotIt = c.host.resetRandom(NumericValue.asNumber(lv.getFirst()).getLong()); + boolean gotIt = c.host.resetRandom(NumericValue.asNumber(lv.get(0)).getLong()); return BooleanValue.of(gotIt); }); @@ -257,7 +257,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'perlin' requires at least one dimension to sample from"); } - x = NumericValue.asNumber(lv.getFirst()); + x = NumericValue.asNumber(lv.get(0)); if (lv.size() > 1) { y = NumericValue.asNumber(lv.get(1)); @@ -308,7 +308,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'simplex' requires at least two dimensions to sample from"); } - x = NumericValue.asNumber(lv.getFirst()); + x = NumericValue.asNumber(lv.get(0)); y = NumericValue.asNumber(lv.get(1)); if (lv.size() > 2) { @@ -350,7 +350,7 @@ else if (fmt != '%') { throw new InternalExpressionException("'convert_date' requires at least one parameter"); } - Value value = lv.getFirst(); + Value value = lv.get(0); if (argsize == 1 && !(value instanceof ListValue)) { Calendar cal = new GregorianCalendar(Locale.ROOT); @@ -408,7 +408,7 @@ else if (argsize == 6) // lazy cause evaluates expression multiple times expression.addLazyFunction("profile_expr", 1, (c, t, lv) -> { - LazyValue lazy = lv.getFirst(); + LazyValue lazy = lv.get(0); long end = System.nanoTime() + 50000000L; long it = 0; while (System.nanoTime() < end) @@ -421,11 +421,11 @@ else if (argsize == 6) }); expression.addContextFunction("var", 1, (c, t, lv) -> - expression.getOrSetAnyVariable(c, lv.getFirst().getString()).evalValue(c)); + expression.getOrSetAnyVariable(c, lv.get(0).getString()).evalValue(c)); expression.addContextFunction("undef", 1, (c, t, lv) -> { - Value remove = lv.getFirst(); + Value remove = lv.get(0); if (remove instanceof FunctionValue) { c.host.delFunction(expression.module, remove.getString()); @@ -467,7 +467,7 @@ else if (!varname.startsWith("_")) //deprecate expression.addContextFunction("vars", 1, (c, t, lv) -> { - String prefix = lv.getFirst().getString(); + String prefix = lv.get(0).getString(); List values = new ArrayList<>(); if (prefix.startsWith("global")) { @@ -487,7 +487,7 @@ else if (!varname.startsWith("_")) { throw new InternalExpressionException("'system_variable_get' expects at least a key to be fetched"); } - Value key = lv.getFirst().evalValue(c); + Value key = lv.get(0).evalValue(c); if (lv.size() > 1) { c.host.scriptServer().systemGlobals.computeIfAbsent(key, k -> lv.get(1).evalValue(c)); @@ -498,7 +498,7 @@ else if (!varname.startsWith("_")) expression.addContextFunction("system_variable_set", 2, (c, t, lv) -> { - Value res = c.host.scriptServer().systemGlobals.put(lv.getFirst(), lv.get(1)); + Value res = c.host.scriptServer().systemGlobals.put(lv.get(0), lv.get(1)); return res == null ? Value.NULL : res; }); } diff --git a/src/main/java/carpet/script/language/Threading.java b/src/main/java/carpet/script/language/Threading.java index 477b1de068..a129d09717 100644 --- a/src/main/java/carpet/script/language/Threading.java +++ b/src/main/java/carpet/script/language/Threading.java @@ -32,7 +32,7 @@ public static void apply(Expression expression) { throw new InternalExpressionException("'task' requires at least function to call as a parameter"); } - Value queue = lv.getFirst(); + Value queue = lv.get(0); FunctionArgument functionArgument = FunctionArgument.findIn(c, expression.module, lv, 1, false, true); ThreadValue thread = new ThreadValue(queue, functionArgument.function, expr, tok, c, functionArgument.checkedArgs()); Thread.yield(); @@ -41,7 +41,7 @@ public static void apply(Expression expression) expression.addContextFunction("task_count", -1, (c, t, lv) -> - (!lv.isEmpty()) ? new NumericValue(c.host.taskCount(lv.getFirst())) : new NumericValue(c.host.taskCount())); + (!lv.isEmpty()) ? new NumericValue(c.host.taskCount(lv.get(0))) : new NumericValue(c.host.taskCount())); expression.addUnaryFunction("task_value", v -> { @@ -64,7 +64,7 @@ public static void apply(Expression expression) expression.addLazyFunction("task_dock", 1, (c, t, lv) -> // pass through placeholder // implmenetation should dock the task on the main thread. - lv.getFirst() + lv.get(0) ); expression.addUnaryFunction("task_completed", v -> @@ -87,7 +87,7 @@ public static void apply(Expression expression) int ind = 0; if (lv.size() == 2) { - lockValue = lv.getFirst().evalValue(c); + lockValue = lv.get(0).evalValue(c); ind = 1; } synchronized (c.host.getLock(lockValue)) @@ -100,7 +100,7 @@ public static void apply(Expression expression) // lazy since exception expression is very conditional expression.addLazyFunction("sleep", (c, t, lv) -> { - long time = lv.isEmpty() ? 0L : NumericValue.asNumber(lv.getFirst().evalValue(c)).getLong(); + long time = lv.isEmpty() ? 0L : NumericValue.asNumber(lv.get(0).evalValue(c)).getLong(); boolean interrupted = false; try { @@ -141,14 +141,14 @@ public static void apply(Expression expression) throw new InternalExpressionException("'yield' requires at least one argument"); } boolean lock = lv.size() > 1 && lv.get(1).evalValue(c, Context.BOOLEAN).getBoolean(); - Value value = lv.getFirst().evalValue(c); + Value value = lv.get(0).evalValue(c); Value ret = c.getThreadContext().ping(value, lock); return (cc, tt) -> ret; }); expression.addLazyFunction("task_send", 2, (c, t, lv) -> { - Value threadValue = lv.getFirst().evalValue(c); + Value threadValue = lv.get(0).evalValue(c); if (!(threadValue instanceof ThreadValue thread)) { throw new InternalExpressionException("'task_next' requires a task value"); @@ -164,7 +164,7 @@ public static void apply(Expression expression) expression.addLazyFunction("task_await", 1, (c, t, lv) -> { - Value threadValue = lv.getFirst().evalValue(c); + Value threadValue = lv.get(0).evalValue(c); if (!(threadValue instanceof ThreadValue thread)) { throw new InternalExpressionException("'task_await' requires a task value"); @@ -179,7 +179,7 @@ public static void apply(Expression expression) expression.addLazyFunction("task_ready", 1, (c, t, lv) -> { - Value threadValue = lv.getFirst().evalValue(c); + Value threadValue = lv.get(0).evalValue(c); if (!(threadValue instanceof ThreadValue thread)) { throw new InternalExpressionException("'task_ready' requires a task value"); diff --git a/src/main/java/carpet/script/utils/AppStoreManager.java b/src/main/java/carpet/script/utils/AppStoreManager.java index 599de842fc..963cd54921 100644 --- a/src/main/java/carpet/script/utils/AppStoreManager.java +++ b/src/main/java/carpet/script/utils/AppStoreManager.java @@ -249,7 +249,7 @@ public static List suggestionsFromPath(String currentPath, CommandSource List filteredSuggestions = appKiosk.createPathSuggestions(source).stream().filter(s -> s.startsWith(currentPath)).toList(); if (filteredSuggestions.size() == 1 && !appKiosk.isLeaf()) { - return suggestionsFromPath(filteredSuggestions.getFirst(), source); // Start suggesting directory contents + return suggestionsFromPath(filteredSuggestions.get(0), source); // Start suggesting directory contents } return filteredSuggestions; } diff --git a/src/main/java/carpet/script/utils/ShapeDispatcher.java b/src/main/java/carpet/script/utils/ShapeDispatcher.java index afcab09c4b..7ea1fcb483 100644 --- a/src/main/java/carpet/script/utils/ShapeDispatcher.java +++ b/src/main/java/carpet/script/utils/ShapeDispatcher.java @@ -86,7 +86,7 @@ public static ShapeWithConfig fromFunctionArgs( { throw new InternalExpressionException("'draw_shape' takes at least three parameters, shape name, duration, and its params"); } - String shapeType = lv.getFirst().getString(); + String shapeType = lv.get(0).getString(); Value duration = NumericValue.asNumber(lv.get(1), "duration"); Map params; if (lv.size() == 3) @@ -425,7 +425,7 @@ public Vec3 vecFromValue(Value value) } List elements = list.getItems(); return new Vec3( - NumericValue.asNumber(elements.getFirst()).getDouble(), + NumericValue.asNumber(elements.get(0)).getDouble(), NumericValue.asNumber(elements.get(1)).getDouble(), NumericValue.asNumber(elements.get(2)).getDouble() ); @@ -751,7 +751,7 @@ protected void init(Map options, RegistryAccess regs) turn = NumericValue.asNumber(options.getOrDefault("turn", optional.get("turn"))).getFloat(); List scale = ((ListValue) options.getOrDefault("scale", optional.get("scale"))).unpack(); scaleY = NumericValue.asNumber(scale.get(1)).getFloat(); - scaleX = NumericValue.asNumber(scale.getFirst()).getFloat(); + scaleX = NumericValue.asNumber(scale.get(0)).getFloat(); scaleZ = NumericValue.asNumber(scale.get(2)).getFloat(); } @@ -984,8 +984,8 @@ ArrayList getAlterPoint(ServerPlayer p) } break; case 6: - Vec3 vec0 = vertexList.getFirst(); - if (relative.getFirst()) + Vec3 vec0 = vertexList.get(0); + if (relative.get(0)) { vec0 = relativiseRender(p.level(), vec0, 0); } @@ -1006,8 +1006,8 @@ ArrayList getAlterPoint(ServerPlayer p) } break; case 5: - Vec3 vecA = vertexList.getFirst(); - if (relative.getFirst()) + Vec3 vecA = vertexList.get(0); + if (relative.get(0)) { vecA = relativiseRender(p.level(), vecA, 0); } @@ -2045,7 +2045,7 @@ public Tag toTag(Value value, final RegistryAccess regs) { List lv = ((ListValue) value).getItems(); ListTag tag = new ListTag(); - tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.getFirst(), "x").getDouble())); + tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.get(0), "x").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.get(1), "y").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(lv.get(2), "z").getDouble())); return tag; @@ -2100,7 +2100,7 @@ public Tag toTag(Value pointsValue, final RegistryAccess regs) { List coords = ((ListValue) value).getItems(); ListTag tag = new ListTag(); - tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.getFirst(), "x").getDouble())); + tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.get(0), "x").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.get(1), "y").getDouble())); tag.add(DoubleTag.valueOf(NumericValue.asNumber(coords.get(2), "z").getDouble())); ltag.add(tag); @@ -2224,7 +2224,7 @@ public static int drawParticleLine(List players, ParticleOptions p int pcount = 0; if (distance < 100) { - RandomSource rand = players.getFirst().level().random; + RandomSource rand = players.get(0).level().random; int particles = (int) (distance / density) + 1; Vec3 towards = to.subtract(from); for (int i = 0; i < particles; i++) diff --git a/src/main/java/carpet/script/value/EntityValue.java b/src/main/java/carpet/script/value/EntityValue.java index e13ecc8890..4fd6069211 100644 --- a/src/main/java/carpet/script/value/EntityValue.java +++ b/src/main/java/carpet/script/value/EntityValue.java @@ -197,7 +197,7 @@ public Value in(Value v) if (v instanceof ListValue lv) { List values = lv.getItems(); - String what = values.getFirst().getString(); + String what = values.get(0).getString(); Value arg = null; if (values.size() == 2) { @@ -457,7 +457,7 @@ public Value get(String what, @Nullable Value arg) put("scoreboard_tags", (e, a) -> ListValue.wrap(e.getTags().stream().map(StringValue::new))); put("entity_tags", (e, a) -> { EntityType type = e.getType(); - return ListValue.wrap(e.getServer().registryAccess().registryOrThrow(Registries.ENTITY_TYPE).getTags().filter(entry -> entry.getSecond().stream().anyMatch(h -> h.value() == type)).map(entry -> ValueConversions.of(entry.getFirst()))); + return ListValue.wrap(e.getServer().registryAccess().registryOrThrow(Registries.ENTITY_TYPE).getTags().filter(entry -> entry.getSecond().stream().anyMatch(h -> h.value() == type)).map(entry -> ValueConversions.of(entry.get(0)))); }); // deprecated put("has_tag", (e, a) -> BooleanValue.of(e.getTags().contains(a.getString()))); @@ -756,7 +756,7 @@ public Value get(String what, @Nullable Value arg) { throw new InternalExpressionException("'trace' needs more arguments"); } - reach = (float) NumericValue.asNumber(args.getFirst()).getDouble(); + reach = (float) NumericValue.asNumber(args.get(0)).getDouble(); if (args.size() > 1) { entities = false; @@ -1047,7 +1047,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); updatePosition(e, - NumericValue.asNumber(coords.getFirst()).getDouble(), + NumericValue.asNumber(coords.get(0)).getDouble(), NumericValue.asNumber(coords.get(1)).getDouble(), NumericValue.asNumber(coords.get(2)).getDouble(), (float) NumericValue.asNumber(coords.get(3)).getDouble(), @@ -1062,7 +1062,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); updatePosition(e, - NumericValue.asNumber(coords.getFirst()).getDouble(), + NumericValue.asNumber(coords.get(0)).getDouble(), NumericValue.asNumber(coords.get(1)).getDouble(), NumericValue.asNumber(coords.get(2)).getDouble(), e.getYRot(), @@ -1096,7 +1096,7 @@ private static void updateVelocity(Entity e, double scale) throw new InternalExpressionException("Expected a list of 3 parameters as a second argument"); } List vec = lv.getItems(); - float x = NumericValue.asNumber(vec.getFirst()).getFloat(); + float x = NumericValue.asNumber(vec.get(0)).getFloat(); float y = NumericValue.asNumber(vec.get(1)).getFloat(); float z = NumericValue.asNumber(vec.get(2)).getFloat(); float l = Mth.sqrt(x * x + y * y + z * z); @@ -1123,7 +1123,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); updatePosition(e, - e.getX() + NumericValue.asNumber(coords.getFirst()).getDouble(), + e.getX() + NumericValue.asNumber(coords.get(0)).getDouble(), e.getY() + NumericValue.asNumber(coords.get(1)).getDouble(), e.getZ() + NumericValue.asNumber(coords.get(2)).getDouble(), e.getYRot(), @@ -1138,7 +1138,7 @@ private static void updateVelocity(Entity e, double scale) throw new InternalExpressionException("Expected a list of 3 parameters as a second argument"); } List coords = lv.getItems(); - double dx = NumericValue.asNumber(coords.getFirst()).getDouble(); + double dx = NumericValue.asNumber(coords.get(0)).getDouble(); double dy = NumericValue.asNumber(coords.get(1)).getDouble(); double dz = NumericValue.asNumber(coords.get(2)).getDouble(); e.setDeltaMovement(dx, dy, dz); @@ -1174,7 +1174,7 @@ private static void updateVelocity(Entity e, double scale) } List coords = lv.getItems(); e.push( - NumericValue.asNumber(coords.getFirst()).getDouble(), + NumericValue.asNumber(coords.get(0)).getDouble(), NumericValue.asNumber(coords.get(1)).getDouble(), NumericValue.asNumber(coords.get(2)).getDouble() ); @@ -1192,7 +1192,7 @@ private static void updateVelocity(Entity e, double scale) if (v instanceof ListValue lv) { showName = lv.getItems().get(1).getBoolean(); - v = lv.getItems().getFirst(); + v = lv.getItems().get(0); } e.setCustomNameVisible(showName); e.setCustomName(FormattedTextValue.getTextByValue(v)); @@ -1473,7 +1473,7 @@ else if (v instanceof ListValue lv) List list = lv.getItems(); if (list.size() >= 1 && list.size() <= 6) { - String effectName = list.getFirst().getString(); + String effectName = list.get(0).getString(); Holder effect = BuiltInRegistries.MOB_EFFECT.getHolder(InputValidator.identifierOf(effectName)).orElseThrow(() -> new InternalExpressionException("No such an effect: " + effectName)); if (list.size() == 1) { diff --git a/src/main/java/carpet/script/value/ListValue.java b/src/main/java/carpet/script/value/ListValue.java index 5b6d9a642b..c72dd14681 100644 --- a/src/main/java/carpet/script/value/ListValue.java +++ b/src/main/java/carpet/script/value/ListValue.java @@ -43,7 +43,7 @@ public String getPrettyString() { return items.size() < 8 ? "[" + items.stream().map(Value::getPrettyString).collect(Collectors.joining(", ")) + "]" - : "[" + items.getFirst().getPrettyString() + ", " + items.get(1).getPrettyString() + ", ..., " + items.get(items.size() - 2).getPrettyString() + ", " + items.get(items.size() - 1).getPrettyString() + "]"; + : "[" + items.get(0).getPrettyString() + ", " + items.get(1).getPrettyString() + ", ..., " + items.get(items.size() - 2).getPrettyString() + ", " + items.get(items.size() - 1).getPrettyString() + "]"; } @Override @@ -566,7 +566,7 @@ public Tag toTag(boolean force, RegistryAccess regs) ListTag tag = new ListTag(); if (argSize == 1) { - tag.add(items.getFirst().toTag(force, regs)); + tag.add(items.get(0).toTag(force, regs)); return tag; } // figuring out the types diff --git a/src/main/java/carpet/script/value/MapValue.java b/src/main/java/carpet/script/value/MapValue.java index 9f0c40af57..9c134c3e15 100644 --- a/src/main/java/carpet/script/value/MapValue.java +++ b/src/main/java/carpet/script/value/MapValue.java @@ -65,7 +65,7 @@ public String getPrettyString() } List keys = new ArrayList<>(map.keySet()); int max = keys.size(); - return "{" + keys.getFirst().getPrettyString() + ": " + map.get(keys.getFirst()).getPrettyString() + ", " + + return "{" + keys.get(0).getPrettyString() + ": " + map.get(keys.get(0)).getPrettyString() + ", " + keys.get(1).getPrettyString() + ": " + map.get(keys.get(1)).getPrettyString() + ", ..., " + keys.get(max - 2).getPrettyString() + ": " + map.get(keys.get(max - 2)).getPrettyString() + ", " + keys.get(max - 1).getPrettyString() + ": " + map.get(keys.get(max - 1)).getPrettyString() + "}"; @@ -152,7 +152,7 @@ public void put(Value v) { throw new InternalExpressionException("Map constructor requires elements that have two items"); } - map.put(pair.getItems().getFirst(), pair.getItems().get(1)); + map.put(pair.getItems().get(0), pair.getItems().get(1)); } @Override diff --git a/src/main/java/carpet/script/value/NBTSerializableValue.java b/src/main/java/carpet/script/value/NBTSerializableValue.java index 975babd057..f6df234c6b 100644 --- a/src/main/java/carpet/script/value/NBTSerializableValue.java +++ b/src/main/java/carpet/script/value/NBTSerializableValue.java @@ -675,7 +675,7 @@ public Value get(Value value) } if (tags.size() == 1 && !valString.endsWith("[]")) { - return NBTSerializableValue.decodeTag(tags.getFirst()); + return NBTSerializableValue.decodeTag(tags.get(0)); } return ListValue.wrap(tags.stream().map(NBTSerializableValue::decodeTag)); } diff --git a/src/main/java/carpet/script/value/ScreenValue.java b/src/main/java/carpet/script/value/ScreenValue.java index 552375646a..a3c154fff7 100644 --- a/src/main/java/carpet/script/value/ScreenValue.java +++ b/src/main/java/carpet/script/value/ScreenValue.java @@ -339,7 +339,7 @@ public Value queryProperty(String propertyName) public Value modifyProperty(String propertyName, List lv) { DataSlot property = getProperty(propertyName); - int intValue = NumericValue.asNumber(lv.getFirst()).getInt(); + int intValue = NumericValue.asNumber(lv.get(0)).getInt(); property.set(intValue); this.screenHandler.broadcastChanges(); return Value.TRUE; diff --git a/src/main/java/carpet/script/value/ValueConversions.java b/src/main/java/carpet/script/value/ValueConversions.java index 82f01ab71f..80b1c26ac7 100644 --- a/src/main/java/carpet/script/value/ValueConversions.java +++ b/src/main/java/carpet/script/value/ValueConversions.java @@ -304,7 +304,7 @@ private static Value fromEntityMemory(Entity e, Object v) { return ListValue.of(); } - Object el = l.getFirst(); + Object el = l.get(0); if (el instanceof final Entity entity) { return ListValue.wrap(l.stream().map(o -> new EntityValue(entity))); @@ -476,7 +476,7 @@ public static ItemStack getItemStackFromValue(Value value, boolean withCount, Re throw new ThrowStatement("item definition from list of size " + list.length(), Throwables.UNKNOWN_ITEM); } List items = list.getItems(); - name = items.getFirst().getString(); + name = items.get(0).getString(); if (withCount) { count = NumericValue.asNumber(items.get(1)).getInt(); diff --git a/src/main/java/carpet/settings/ParsedRule.java b/src/main/java/carpet/settings/ParsedRule.java index b906e300c7..5ed8284437 100644 --- a/src/main/java/carpet/settings/ParsedRule.java +++ b/src/main/java/carpet/settings/ParsedRule.java @@ -394,7 +394,7 @@ public void set(CommandSourceStack source, T value) throws InvalidRuleValueExcep @Override public boolean strict() { - return !realValidators.isEmpty() && realValidators.getFirst() instanceof Validator.StrictValidator; + return !realValidators.isEmpty() && realValidators.get(0) instanceof Validator.StrictValidator; } private static Map.Entry, FromStringConverter> numericalConverter(Class outputClass, Function converter) { From 9ba3167e45e80dd0f067801d32df3033d5b07c7c Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Sun, 5 May 2024 23:57:04 +0800 Subject: [PATCH 6/9] Fix --- src/main/java/carpet/script/CarpetEventServer.java | 2 +- src/main/java/carpet/script/value/ListValue.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/script/CarpetEventServer.java b/src/main/java/carpet/script/CarpetEventServer.java index 4c58d5cf55..24de93ac0d 100644 --- a/src/main/java/carpet/script/CarpetEventServer.java +++ b/src/main/java/carpet/script/CarpetEventServer.java @@ -429,7 +429,7 @@ public static class Event public static List publicEvents(CarpetScriptServer server) { - List events = byName.values().stream().filter(e -> e.isPublic).toList(); + List events = byName.values().stream().filter(e -> e.isPublic).collect(Collectors.toList()); if (server != null) { events.addAll(server.events.customEvents.values()); diff --git a/src/main/java/carpet/script/value/ListValue.java b/src/main/java/carpet/script/value/ListValue.java index c72dd14681..cffcdd6c44 100644 --- a/src/main/java/carpet/script/value/ListValue.java +++ b/src/main/java/carpet/script/value/ListValue.java @@ -92,7 +92,7 @@ public static Value fromTriple(int a, int b, int c) public static ListValue wrap(Stream stream) { - return wrap(stream.toList()); + return wrap(stream.collect(Collectors.toList())); } public static ListValue wrap(List list) From 4c93b86051541f08f0de83c40c284a0efd96d530 Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Sun, 5 May 2024 23:58:28 +0800 Subject: [PATCH 7/9] Fix compile --- src/main/java/carpet/script/value/EntityValue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/carpet/script/value/EntityValue.java b/src/main/java/carpet/script/value/EntityValue.java index 4fd6069211..f3dcc1cc78 100644 --- a/src/main/java/carpet/script/value/EntityValue.java +++ b/src/main/java/carpet/script/value/EntityValue.java @@ -457,7 +457,7 @@ public Value get(String what, @Nullable Value arg) put("scoreboard_tags", (e, a) -> ListValue.wrap(e.getTags().stream().map(StringValue::new))); put("entity_tags", (e, a) -> { EntityType type = e.getType(); - return ListValue.wrap(e.getServer().registryAccess().registryOrThrow(Registries.ENTITY_TYPE).getTags().filter(entry -> entry.getSecond().stream().anyMatch(h -> h.value() == type)).map(entry -> ValueConversions.of(entry.get(0)))); + return ListValue.wrap(e.getServer().registryAccess().registryOrThrow(Registries.ENTITY_TYPE).getTags().filter(entry -> entry.getSecond().stream().anyMatch(h -> h.value() == type)).map(entry -> ValueConversions.of(entry.getFirst()))); }); // deprecated put("has_tag", (e, a) -> BooleanValue.of(e.getTags().contains(a.getString()))); From 5591af565ba9ed57d6b8b792fe2fb4cb260290b4 Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Mon, 6 May 2024 00:29:42 +0800 Subject: [PATCH 8/9] Remove unused DynamicGraphMinFixedPoint_resetChunkInterface --- ...micGraphMinFixedPoint_resetChunkInterface.java | 15 --------------- .../mixins/Explosion_optimizedTntMixin.java | 2 +- src/main/resources/carpet.mixins.json | 1 - 3 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 src/main/java/carpet/mixins/DynamicGraphMinFixedPoint_resetChunkInterface.java diff --git a/src/main/java/carpet/mixins/DynamicGraphMinFixedPoint_resetChunkInterface.java b/src/main/java/carpet/mixins/DynamicGraphMinFixedPoint_resetChunkInterface.java deleted file mode 100644 index cc8f8e0972..0000000000 --- a/src/main/java/carpet/mixins/DynamicGraphMinFixedPoint_resetChunkInterface.java +++ /dev/null @@ -1,15 +0,0 @@ -package carpet.mixins; - -import net.minecraft.world.level.lighting.DynamicGraphMinFixedPoint; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -@Mixin(DynamicGraphMinFixedPoint.class) -public interface DynamicGraphMinFixedPoint_resetChunkInterface -{ - @Invoker("checkEdge") - void cmInvokeUpdateLevel(long sourceId, long id, int level, boolean decrease); - - @Invoker("computeLevelFromNeighbor") - int cmCallGetPropagatedLevel(long sourceId, long targetId, int level); -} diff --git a/src/main/java/carpet/mixins/Explosion_optimizedTntMixin.java b/src/main/java/carpet/mixins/Explosion_optimizedTntMixin.java index 3cf32d6cf8..eeacddb3e8 100644 --- a/src/main/java/carpet/mixins/Explosion_optimizedTntMixin.java +++ b/src/main/java/carpet/mixins/Explosion_optimizedTntMixin.java @@ -28,7 +28,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -@Mixin(value = Explosion.class) +@Mixin(Explosion.class) public abstract class Explosion_optimizedTntMixin { @Shadow diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 7088fa22c7..d899898be4 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -41,7 +41,6 @@ "LevelEntityGetterAdapter_scarpetMixin", "ChunkHolder_scarpetChunkCreationMixin", "ThreadedLevelLightEngine_scarpetMixin", - "DynamicGraphMinFixedPoint_resetChunkInterface", "DistanceManager_scarpetChunkCreationMixin", "LevelLightEngine_scarpetChunkCreationMixin", "LayerLightEngine_scarpetChunkCreationMixin", From 717f540fab7c68899315bebacbf79490b32ba1a6 Mon Sep 17 00:00:00 2001 From: extclp <2842417407@qq.com> Date: Mon, 6 May 2024 00:38:05 +0800 Subject: [PATCH 9/9] Remove gradle plugin of loom-quiltflower --- build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle b/build.gradle index 678f16aaeb..15f3708d66 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,5 @@ plugins { id 'fabric-loom' version '1.6-SNAPSHOT' - id 'io.github.juuxel.loom-quiltflower' version '1.7.3' id 'maven-publish' }