Skip to content

Commit 7b239b6

Browse files
committed
Merge branch 'upmerge/1.21-1' into master-1.21
2 parents d3c29aa + be80b66 commit 7b239b6

4 files changed

Lines changed: 32 additions & 34 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ org.gradle.caching=true
3232

3333
# Dependencies
3434
cyclopscore_version=1.25.5-871
35-
integrateddynamics_version=1.24.1-1463
35+
integrateddynamics_version=1.24.1-1652
3636
commoncapabilities_version=2.9.7-303
3737
integratedtunnels_version=1.8.30-534

src/main/java/org/cyclops/integratedcrafting/IntegratedCrafting.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.cyclops.integratedcrafting.capability.network.NetworkCraftingHandlerCraftingNetwork;
2020
import org.cyclops.integratedcrafting.core.CraftingProcessOverrideRegistry;
2121
import org.cyclops.integratedcrafting.core.CraftingProcessOverrides;
22+
import org.cyclops.integratedcrafting.gametest.GameTestsAdvancements;
2223
import org.cyclops.integratedcrafting.gametest.GameTestsItemsCraft;
2324
import org.cyclops.integratedcrafting.gametest.GameTestsItemsSmithing;
2425
import org.cyclops.integratedcrafting.gametest.GameTestsItemsStonecutting;
@@ -124,6 +125,7 @@ public void onConfigsRegister(ConfigHandlerCommon configHandler) {
124125
@Override
125126
public Class<?>[] getGameTestClasses() {
126127
return new Class<?>[]{
128+
GameTestsAdvancements.class,
127129
GameTestsItemsCraft.class,
128130
GameTestsItemsSmithing.class,
129131
GameTestsItemsStonecutting.class

src/main/java/org/cyclops/integratedcrafting/gametest/GameTestsAdvancements.java

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,25 @@
22

33
import net.minecraft.advancements.AdvancementHolder;
44
import net.minecraft.core.BlockPos;
5-
import net.minecraft.gametest.framework.GameTest;
65
import net.minecraft.gametest.framework.GameTestAssertException;
76
import net.minecraft.gametest.framework.GameTestHelper;
8-
import net.minecraft.nbt.Tag;
7+
import net.minecraft.nbt.CompoundTag;
98
import net.minecraft.nbt.TagParser;
10-
import net.minecraft.resources.ResourceLocation;
9+
import net.minecraft.network.chat.Component;
10+
import net.minecraft.resources.Identifier;
1111
import net.minecraft.server.level.ServerPlayer;
1212
import net.minecraft.world.SimpleContainer;
1313
import net.minecraft.world.item.ItemStack;
1414
import net.minecraft.world.item.Items;
1515
import net.neoforged.neoforge.common.NeoForge;
1616
import net.neoforged.neoforge.event.entity.player.PlayerEvent;
17-
import net.neoforged.neoforge.gametest.GameTestHolder;
18-
import net.neoforged.neoforge.gametest.PrefixGameTestTemplate;
17+
import org.cyclops.cyclopscore.gametest.GameTest;
1918
import org.cyclops.integratedcrafting.Reference;
2019
import org.cyclops.integratedcrafting.part.PartTypeInterfaceCrafting;
2120
import org.cyclops.integratedcrafting.part.PartTypes;
2221
import org.cyclops.integrateddynamics.RegistryEntries;
2322
import org.cyclops.integrateddynamics.api.evaluate.variable.IValue;
2423
import org.cyclops.integrateddynamics.api.evaluate.variable.IVariable;
25-
import org.cyclops.integrateddynamics.api.evaluate.variable.ValueDeseralizationContext;
2624
import org.cyclops.integrateddynamics.api.part.PartPos;
2725
import org.cyclops.integrateddynamics.api.part.PartTarget;
2826
import org.cyclops.integrateddynamics.api.part.write.IPartStateWriter;
@@ -32,18 +30,18 @@
3230
import org.cyclops.integrateddynamics.core.evaluate.variable.Variable;
3331
import org.cyclops.integrateddynamics.core.helper.PartHelpers;
3432
import org.cyclops.integrateddynamics.core.part.event.PartVariableDrivenVariableContentsUpdatedEvent;
33+
import org.cyclops.integrateddynamics.core.test.TestHelpers;
3534

36-
import static org.cyclops.integratedcrafting.gametest.GameTestHelpersIntegratedCrafting.*;
35+
import static org.cyclops.integratedcrafting.gametest.GameTestHelpersIntegratedCrafting.createBasicNetwork;
36+
import static org.cyclops.integratedcrafting.gametest.GameTestHelpersIntegratedCrafting.enableRecipeInWriter;
3737

3838
/**
3939
* Game tests for all advancements in the mod.
4040
* @author rubensworks
4141
*/
42-
@GameTestHolder(Reference.MOD_ID)
43-
@PrefixGameTestTemplate(false)
4442
public class GameTestsAdvancements {
4543

46-
public static final String TEMPLATE_EMPTY = "empty10";
44+
public static final String TEMPLATE_EMPTY = Reference.MOD_ID + ":empty10";
4745
public static final int TIMEOUT = 200;
4846
public static final BlockPos POS = BlockPos.ZERO.offset(2, 0, 2);
4947

@@ -61,7 +59,7 @@ public void testAdvancementRoot(GameTestHelper helper) {
6159

6260
helper.succeedWhen(() -> {
6361
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
64-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "root"));
62+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, "root"));
6563
helper.assertTrue(advancement != null, "Root advancement not found");
6664
helper.assertTrue(
6765
player.getAdvancements().getOrStartProgress(advancement).isDone(),
@@ -89,7 +87,7 @@ public void testAdvancementCraftCraftingInterface(GameTestHelper helper) {
8987

9088
helper.succeedWhen(() -> {
9189
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
92-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_setup/craft_crafting_interface"));
90+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_setup/craft_crafting_interface"));
9391
helper.assertTrue(advancement != null, "craft_crafting_interface advancement not found");
9492
helper.assertTrue(
9593
player.getAdvancements().getOrStartProgress(advancement).isDone(),
@@ -116,7 +114,7 @@ public void testAdvancementCraftCraftingInterfaceAttuned(GameTestHelper helper)
116114

117115
helper.succeedWhen(() -> {
118116
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
119-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_setup/craft_crafting_interface_attuned"));
117+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_setup/craft_crafting_interface_attuned"));
120118
helper.assertTrue(advancement != null, "craft_crafting_interface_attuned advancement not found");
121119
helper.assertTrue(
122120
player.getAdvancements().getOrStartProgress(advancement).isDone(),
@@ -143,7 +141,7 @@ public void testAdvancementCraftCraftingWriter(GameTestHelper helper) {
143141

144142
helper.succeedWhen(() -> {
145143
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
146-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_trigger/craft_crafting_writer"));
144+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_trigger/craft_crafting_writer"));
147145
helper.assertTrue(advancement != null, "craft_crafting_writer advancement not found");
148146
helper.assertTrue(
149147
player.getAdvancements().getOrStartProgress(advancement).isDone(),
@@ -163,20 +161,19 @@ public void testAdvancementInsertRecipePlanks(GameTestHelper helper) {
163161

164162
// Deserialize the recipe value from the exact same SNBT that the advancement JSON expects.
165163
// This guarantees ValuePredicate.test() will find equal values via ValueHelpers.areValuesEqual().
166-
Tag recipeTag;
164+
CompoundTag recipeTag;
167165
try {
168166
recipeTag =
169-
TagParser.parseTag(
167+
TagParser.parseCompoundFully(
170168
"{output:{\"minecraft:itemstack\":[{id:\"minecraft:oak_planks\",Count:4}]},"
171169
+ "input:{\"minecraft:itemstack\":[{val:[{condition:5,prototype:{id:\"minecraft:oak_log\",Count:1}}],type:0b}]}}");
172170
} catch (com.mojang.brigadier.exceptions.CommandSyntaxException e) {
173171
throw new RuntimeException(e);
174172
}
175173
IValue recipeValue =
176-
ValueHelpers.deserializeRaw(
177-
ValueDeseralizationContext.of(helper.getLevel()),
178-
ValueTypes.OBJECT_RECIPE,
179-
recipeTag);
174+
TestHelpers.deserialize(
175+
recipeTag,
176+
valueInput -> ValueHelpers.deserializeRaw(valueInput, ValueTypes.OBJECT_RECIPE));
180177
IVariable<?> variable = new Variable<>(recipeValue);
181178

182179
// Fire the event directly, mirroring what PartTypeInterfaceCrafting.State.reloadRecipe() does
@@ -186,7 +183,7 @@ public void testAdvancementInsertRecipePlanks(GameTestHelper helper) {
186183

187184
helper.succeedWhen(() -> {
188185
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
189-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_setup/insert_recipe_planks"));
186+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_setup/insert_recipe_planks"));
190187
helper.assertTrue(advancement != null, "insert_recipe_planks advancement not found");
191188
helper.assertTrue(
192189
player.getAdvancements().getOrStartProgress(advancement).isDone(),
@@ -219,7 +216,7 @@ public void testAdvancementCraftPlanks(GameTestHelper helper) {
219216

220217
helper.succeedWhen(() -> {
221218
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
222-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_trigger/craft_planks"));
219+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, "autocrafting_trigger/craft_planks"));
223220
helper.assertTrue(advancement != null, "craft_planks advancement not found");
224221
helper.assertTrue(
225222
player.getAdvancements().getOrStartProgress(advancement).isDone(),
@@ -230,9 +227,9 @@ public void testAdvancementCraftPlanks(GameTestHelper helper) {
230227

231228
private static void assertAdvancementNotDone(GameTestHelper helper, ServerPlayer player, String id) {
232229
AdvancementHolder advancement = helper.getLevel().getServer().getAdvancements()
233-
.get(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, id));
230+
.get(Identifier.fromNamespaceAndPath(Reference.MOD_ID, id));
234231
if (advancement != null && player.getAdvancements().getOrStartProgress(advancement).isDone()) {
235-
throw new GameTestAssertException("Advancement should NOT have been obtained: " + Reference.MOD_ID + ":" + id);
232+
throw new GameTestAssertException(Component.literal("Advancement should NOT have been obtained: " + Reference.MOD_ID + ":" + id), (int) helper.getTick());
236233
}
237234
}
238235

@@ -319,20 +316,19 @@ public void testAdvancementCraftCraftingWriterNegative(GameTestHelper helper) {
319316
public void testAdvancementInsertRecipePlanksNegative(GameTestHelper helper) {
320317
ServerPlayer player = helper.makeMockServerPlayerInLevel();
321318

322-
Tag recipeTag;
319+
CompoundTag recipeTag;
323320
try {
324321
recipeTag =
325-
TagParser.parseTag(
322+
TagParser.parseCompoundFully(
326323
"{output:{\"minecraft:itemstack\":[{id:\"minecraft:oak_planks\",Count:4}]},"
327324
+ "input:{\"minecraft:itemstack\":[{val:[{condition:5,prototype:{id:\"minecraft:oak_log\",Count:1}}],type:0b}]}}");
328325
} catch (com.mojang.brigadier.exceptions.CommandSyntaxException e) {
329326
throw new RuntimeException(e);
330327
}
331328
IValue recipeValue =
332-
ValueHelpers.deserializeRaw(
333-
ValueDeseralizationContext.of(helper.getLevel()),
334-
ValueTypes.OBJECT_RECIPE,
335-
recipeTag);
329+
TestHelpers.deserialize(
330+
recipeTag,
331+
valueInput -> ValueHelpers.deserializeRaw(valueInput, ValueTypes.OBJECT_RECIPE));
336332
IVariable<?> variable = new Variable<>(recipeValue);
337333

338334
// Fire with wrong part type (crafting_writer instead of interface_crafting)
@@ -369,7 +365,7 @@ public void testAdvancementCraftPlanksNegative(GameTestHelper helper) {
369365
@SuppressWarnings("unchecked")
370366
private static <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>> void callUpdateActivationWithPlayer(
371367
IPartTypeWriter<?, ?> partType, IPartStateWriter<?> partState, PartPos writerPos, ServerPlayer player) {
372-
((P) partType).updateActivation(PartTarget.fromCenter(writerPos), (S) partState, player);
368+
((P) partType).updateActivation(PartTarget.fromCenter(writerPos), (S) partState, player, false);
373369
}
374370

375371
}

src/main/java/org/cyclops/integratedcrafting/gametest/GameTestsItemsCraft.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -791,15 +791,15 @@ public void testItemsCraftDeadBushTagReusableNeedsCrafting(GameTestHelper helper
791791
GameTestHelpersIntegratedCrafting.INetworkPositions<PartTypeInterfaceCrafting.State> positions = createBasicNetwork(helper, POS, Blocks.CRAFTING_TABLE, Blocks.CRAFTING_TABLE);
792792

793793
// Insert items in interface chest: no shears, but iron ingots to craft them
794-
ChestBlockEntity chestIn = helper.getBlockEntity(POS.east());
794+
ChestBlockEntity chestIn = helper.getBlockEntity(POS.east(), ChestBlockEntity.class);
795795
chestIn.setItem(0, new ItemStack(Items.IRON_INGOT, 2));
796796
chestIn.setItem(1, new ItemStack(Items.SPRUCE_SAPLING, 10));
797797

798798
// Add dead bush recipe with reusable shears to crafting interface 0
799799
createDeadBushTagReusableRecipe(helper, positions);
800800

801801
// Add shears recipe to crafting interface 1
802-
positions.interfaceRecipeAdders().get(1).accept(Triple.of(0, RecipeType.CRAFTING, ResourceLocation.fromNamespaceAndPath("minecraft", "shears")));
802+
positions.interfaceRecipeAdders().get(1).accept(Triple.of(0, RecipeType.CRAFTING, Identifier.fromNamespaceAndPath("minecraft", "shears")));
803803

804804
// Speed up crafting interfaces, to craft once every tick
805805
GameTestHelpersIntegratedCrafting.setCraftingInterfaceUpdateInterval(positions.interfaces().get(0), 1);

0 commit comments

Comments
 (0)