Skip to content

Commit 452fbea

Browse files
committed
Update to 1.21.11-rc2
1 parent 135639b commit 452fbea

20 files changed

+64
-80
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'fabric-loom' version '1.12-SNAPSHOT'
2+
id 'fabric-loom' version '1.13-SNAPSHOT'
33
id 'maven-publish'
44
}
55

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ org.gradle.parallel=true
44

55
# Fabric Properties
66
# check these on https://fabricmc.net/develop
7-
minecraft_version=1.21.10
8-
loader_version=0.17.3
7+
minecraft_version=1.21.11-rc2
8+
loader_version=0.18.1
99

1010
# Mod Properties
11-
mod_version=2.3.0
11+
mod_version=2.4.0-beta1
1212
maven_group=io.github.misode
1313
archives_base_name=packtest
1414

1515
# Dependencies
16-
fabric_version=0.138.3+1.21.10
16+
fabric_version=0.139.4+1.21.11

src/main/java/io/github/misode/packtest/PackTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
88
import net.fabricmc.api.ModInitializer;
99
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
10-
import net.minecraft.FileUtil;
11-
import net.minecraft.Util;
10+
import net.minecraft.util.FileUtil;
11+
import net.minecraft.util.Util;
1212
import net.minecraft.commands.CommandBuildContext;
1313
import net.minecraft.commands.CommandSourceStack;
1414
import net.minecraft.commands.Commands;

src/main/java/io/github/misode/packtest/PackTestFunction.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,22 @@
1919
import net.minecraft.gametest.framework.*;
2020
import net.minecraft.network.chat.Component;
2121
import net.minecraft.resources.ResourceKey;
22-
import net.minecraft.resources.ResourceLocation;
22+
import net.minecraft.resources.Identifier;
23+
import net.minecraft.server.permissions.PermissionSet;
2324
import net.minecraft.world.level.block.Rotation;
2425
import net.minecraft.world.phys.Vec3;
2526

2627
import java.util.*;
2728
import java.util.regex.Matcher;
2829
import java.util.regex.Pattern;
2930

30-
public record PackTestFunction(Map<String, String> directives, List<Step> steps, int permissionLevel) {
31+
public record PackTestFunction(Map<String, String> directives, List<Step> steps, PermissionSet permissionSet) {
3132
private static final Pattern DIRECTIVE_PATTERN = Pattern.compile("^#\\s*@(\\w+)(?:\\s+(.+))?$");
3233

3334
public void run(GameTestHelper helper) {
3435
CommandSourceStack source = helper.getLevel().getServer().createCommandSourceStack()
3536
.withPosition(helper.absoluteVec(Vec3.ZERO))
36-
.withPermission(this.permissionLevel)
37+
.withPermission(this.permissionSet)
3738
.withSuppressedOutput();
3839
((PackTestSourceStack) source).packtest$setHelper(helper);
3940

@@ -61,7 +62,7 @@ public void run(GameTestHelper helper) {
6162
sequence.thenSucceed();
6263
}
6364

64-
public static PackTestFunction fromLines(List<String> lines, int permissionLevel) {
65+
public static PackTestFunction fromLines(List<String> lines, PermissionSet permissionSet) {
6566
HashMap<String, String> directives = new HashMap<>();
6667
for (String line : lines) {
6768
if (!line.startsWith("#")) {
@@ -83,7 +84,7 @@ public static PackTestFunction fromLines(List<String> lines, int permissionLevel
8384
}
8485
}
8586

86-
return new PackTestFunction(directives, steps, permissionLevel);
87+
return new PackTestFunction(directives, steps, permissionSet);
8788
}
8889

8990
private Optional<Vec3> getDummyPos(CommandSourceStack source) {
@@ -103,9 +104,9 @@ private Optional<Vec3> getDummyPos(CommandSourceStack source) {
103104

104105
public TestData<Holder<TestEnvironmentDefinition>> getTestData(HolderGetter.Provider registries) {
105106
var environments = registries.lookup(Registries.TEST_ENVIRONMENT).orElseThrow();
106-
ResourceLocation environmentId = Optional.ofNullable(this.directives.get("environment")).map(ResourceLocation::parse).orElse(GameTestEnvironments.DEFAULT_KEY.location());
107+
Identifier environmentId = Optional.ofNullable(this.directives.get("environment")).map(Identifier::parse).orElse(GameTestEnvironments.DEFAULT_KEY.identifier());
107108
Holder<TestEnvironmentDefinition> environment = environments.getOrThrow(ResourceKey.create(Registries.TEST_ENVIRONMENT, environmentId));
108-
ResourceLocation structure = Optional.ofNullable(this.directives.get("template")).map(ResourceLocation::parse).orElse(ResourceLocation.withDefaultNamespace("empty"));
109+
Identifier structure = Optional.ofNullable(this.directives.get("template")).map(Identifier::parse).orElse(Identifier.withDefaultNamespace("empty"));
109110
int maxTicks = Optional.ofNullable(this.directives.get("timeout")).map(Integer::parseInt).orElse(100);
110111
boolean required = Optional.ofNullable(this.directives.get("optional")).map(s -> !Boolean.parseBoolean(s)).orElse(true);
111112
boolean skyAccess = Optional.ofNullable(this.directives.get("skyaccess")).map(Boolean::parseBoolean).orElse(false);
@@ -125,7 +126,7 @@ public void register(GameTestSequence sequence, CommandDispatcher<CommandSourceS
125126
return;
126127
}
127128
try {
128-
ResourceLocation id = ResourceLocation.fromNamespaceAndPath("packtest", "internal");
129+
Identifier id = Identifier.fromNamespaceAndPath("packtest", "internal");
129130
CommandFunction<CommandSourceStack> function = CommandFunction.fromLines(id, dispatcher, source, List.of(this.line));
130131
InstantiatedFunction<CommandSourceStack> instantiated = function.instantiate(null, dispatcher);
131132
Runnable runCommands = () -> {

src/main/java/io/github/misode/packtest/PackTestLibrary.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@
1111
import net.minecraft.gametest.framework.GameTestInstance;
1212
import net.minecraft.resources.FileToIdConverter;
1313
import net.minecraft.resources.ResourceKey;
14-
import net.minecraft.resources.ResourceLocation;
14+
import net.minecraft.resources.Identifier;
1515
import net.minecraft.server.packs.resources.PreparableReloadListener;
1616
import net.minecraft.server.packs.resources.Resource;
17+
import net.minecraft.server.permissions.LevelBasedPermissionSet;
18+
import net.minecraft.server.permissions.PermissionSet;
1719
import org.jetbrains.annotations.NotNull;
1820

1921
import java.io.BufferedReader;
@@ -26,44 +28,44 @@
2628
import java.util.function.Consumer;
2729

2830
public class PackTestLibrary implements PreparableReloadListener {
29-
public static final PackTestLibrary INSTANCE = new PackTestLibrary(null,2);
31+
public static final PackTestLibrary INSTANCE = new PackTestLibrary(null, LevelBasedPermissionSet.GAMEMASTER);
3032
private static final FileToIdConverter LISTER = new FileToIdConverter("test", ".mcfunction");
3133

3234
private HolderGetter.Provider registries;
33-
private int permissionLevel;
35+
private PermissionSet permissionSet;
3436

35-
public PackTestLibrary(HolderGetter.Provider registries, int permissionLevel) {
37+
public PackTestLibrary(HolderGetter.Provider registries, PermissionSet permissionSet) {
3638
this.registries = registries;
37-
this.permissionLevel = permissionLevel;
39+
this.permissionSet = permissionSet;
3840
}
3941

4042
public void setRegistries(HolderLookup.Provider registries) {
4143
this.registries = registries;
4244
}
4345

44-
public void setPermissionLevel(int permissionLevel) {
45-
this.permissionLevel = permissionLevel;
46+
public void setPermissionSet(PermissionSet permissionSet) {
47+
this.permissionSet = permissionSet;
4648
}
4749

4850
@Override
4951
public @NotNull CompletableFuture<Void> reload(PreparableReloadListener.SharedState sharedState, Executor executor1, PreparableReloadListener.PreparationBarrier barrier, Executor executor2) {
50-
CompletableFuture<Map<ResourceLocation, CompletableFuture<PackTestFunction>>> prep = CompletableFuture.supplyAsync(
52+
CompletableFuture<Map<Identifier, CompletableFuture<PackTestFunction>>> prep = CompletableFuture.supplyAsync(
5153
() -> LISTER.listMatchingResources(sharedState.resourceManager()), executor1
5254
).thenComposeAsync(map -> {
53-
Map<ResourceLocation, CompletableFuture<PackTestFunction>> result = Maps.newHashMap();
54-
for(Map.Entry<ResourceLocation, Resource> entry : map.entrySet()) {
55-
ResourceLocation id = LISTER.fileToId(entry.getKey());
55+
Map<Identifier, CompletableFuture<PackTestFunction>> result = Maps.newHashMap();
56+
for(Map.Entry<Identifier, Resource> entry : map.entrySet()) {
57+
Identifier id = LISTER.fileToId(entry.getKey());
5658
result.put(id, CompletableFuture.supplyAsync(() -> {
5759
List<String> lines = readLines(entry.getValue());
58-
return PackTestFunction.fromLines(lines, this.permissionLevel);
60+
return PackTestFunction.fromLines(lines, this.permissionSet);
5961
}));
6062
}
6163
CompletableFuture<?>[] futures = result.values().toArray(new CompletableFuture[0]);
6264
return CompletableFuture.allOf(futures).handle((a, b) -> result);
6365
});
6466

6567
return prep.thenCompose(barrier::wait).thenAcceptAsync(functions -> {
66-
ImmutableMap.Builder<ResourceLocation, PackTestFunction> testsBuilder = ImmutableMap.builder();
68+
ImmutableMap.Builder<Identifier, PackTestFunction> testsBuilder = ImmutableMap.builder();
6769
functions.forEach((id, future) -> future.handle((val, err) -> {
6870
if (err != null) {
6971
PackTest.LOGGER.error("Failed to load test {}", id, err);
@@ -72,7 +74,7 @@ public void setPermissionLevel(int permissionLevel) {
7274
}
7375
return null;
7476
}).join());
75-
ImmutableMap<ResourceLocation, PackTestFunction> tests = testsBuilder.build();
77+
ImmutableMap<Identifier, PackTestFunction> tests = testsBuilder.build();
7678
HolderGetter<GameTestInstance> testInstanceRegistry = this.registries.lookup(Registries.TEST_INSTANCE).orElseThrow();
7779
HolderGetter<Consumer<GameTestHelper>> testFunctionRegistry = this.registries.lookup(Registries.TEST_FUNCTION).orElseThrow();
7880
((PackTestRegistry)testInstanceRegistry).packtest$setFrozen(false);

src/main/java/io/github/misode/packtest/TemporaryForcedChunks.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static void unmarkTemporary(ServerLevel level, int x, int z) {
2424
private record TemporaryChunk(String dimension, int x, int z) {
2525

2626
private static TemporaryChunk from(ServerLevel level, int x, int z) {
27-
return new TemporaryChunk(level.dimension().location().toString(), x, z);
27+
return new TemporaryChunk(level.dimension().identifier().toString(), x, z);
2828
}
2929
}
3030
}

src/main/java/io/github/misode/packtest/commands/AssertCommand.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
1212
import io.github.misode.packtest.*;
1313
import it.unimi.dsi.fastutil.ints.IntList;
14-
import net.minecraft.advancements.critereon.MinMaxBounds;
14+
import net.minecraft.advancements.criterion.MinMaxBounds;
1515
import net.minecraft.commands.CommandBuildContext;
1616
import net.minecraft.commands.CommandSourceStack;
17+
import net.minecraft.commands.Commands;
1718
import net.minecraft.commands.arguments.*;
1819
import net.minecraft.commands.arguments.blocks.BlockPredicateArgument;
1920
import net.minecraft.commands.arguments.coordinates.BlockPosArgument;
@@ -70,7 +71,7 @@ public class AssertCommand {
7071

7172
public static void register(CommandDispatcher<CommandSourceStack> dispatcher, CommandBuildContext buildContext) {
7273
LiteralArgumentBuilder<CommandSourceStack> assertBuilder = literal("assert")
73-
.requires(ctx -> ctx.hasPermission(2));
74+
.requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS));
7475
addConditions(assertBuilder, buildContext, predicate -> new AssertCustomExecutor(true, predicate));
7576
LiteralArgumentBuilder<CommandSourceStack> notBuilder = literal("not");
7677
addConditions(notBuilder, buildContext, predicate -> new AssertCustomExecutor(false, predicate));
@@ -199,7 +200,7 @@ private static AssertResult assertItemsEntity(CommandContext<CommandSourceStack>
199200
for(Entity entity : entities) {
200201
IntList slots = slotRange.slots();
201202
for(int i = 0; i < slots.size(); ++i) {
202-
ItemStack itemStack = entity.getSlot(slots.getInt(i)).get();
203+
ItemStack itemStack = Objects.requireNonNull(entity.getSlot(slots.getInt(i))).get();
203204
if (itemPredicate.test(itemStack)) {
204205
count += itemStack.getCount();
205206
}

src/main/java/io/github/misode/packtest/commands/AwaitCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
66
import net.minecraft.commands.CommandBuildContext;
77
import net.minecraft.commands.CommandSourceStack;
8+
import net.minecraft.commands.Commands;
89
import net.minecraft.commands.arguments.TimeArgument;
910

1011
import java.util.function.Function;
@@ -15,7 +16,7 @@
1516
public class AwaitCommand {
1617
public static void register(CommandDispatcher<CommandSourceStack> dispatcher, CommandBuildContext buildContext) {
1718
LiteralArgumentBuilder<CommandSourceStack> awaitBuilder = literal("await")
18-
.requires(ctx -> ctx.hasPermission(2));
19+
.requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS));
1920
addConditions(awaitBuilder, buildContext, predicate -> new AssertCommand.AssertCustomExecutor(true, predicate));
2021
LiteralArgumentBuilder<CommandSourceStack> notBuilder = literal("not");
2122
addConditions(notBuilder, buildContext, predicate -> new AssertCommand.AssertCustomExecutor(false, predicate));

src/main/java/io/github/misode/packtest/commands/DummyCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.github.misode.packtest.PackTestPlayerName;
1414
import io.github.misode.packtest.dummy.Dummy;
1515
import net.minecraft.commands.CommandSourceStack;
16+
import net.minecraft.commands.Commands;
1617
import net.minecraft.commands.arguments.EntityArgument;
1718
import net.minecraft.commands.arguments.coordinates.BlockPosArgument;
1819
import net.minecraft.commands.arguments.coordinates.Vec3Argument;
@@ -84,6 +85,7 @@ private static DynamicCommandExceptionType createError(String message) {
8485

8586
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
8687
dispatcher.register(literal("dummy")
88+
.requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS))
8789
.then(argument("dummy", EntityArgument.entity())
8890
.suggests(SUGGEST_DUMMY_NAME)
8991
.then(literal("spawn")

src/main/java/io/github/misode/packtest/commands/FailCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.github.misode.packtest.PackTestSourceStack;
88
import net.minecraft.commands.CommandBuildContext;
99
import net.minecraft.commands.CommandSourceStack;
10+
import net.minecraft.commands.Commands;
1011
import net.minecraft.commands.arguments.ComponentArgument;
1112
import net.minecraft.commands.execution.ChainModifiers;
1213
import net.minecraft.commands.execution.CustomCommandExecutor;
@@ -20,7 +21,7 @@
2021
public class FailCommand {
2122
public static void register(CommandDispatcher<CommandSourceStack> dispatcher, CommandBuildContext buildContext) {
2223
dispatcher.register(literal("fail")
23-
.requires(ctx -> ctx.hasPermission(2))
24+
.requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS))
2425
.then(argument("message", ComponentArgument.textComponent(buildContext))
2526
.executes(new FailCommand.FailCustomExecutor()))
2627
);

0 commit comments

Comments
 (0)