22
33import net .minecraft .advancements .AdvancementHolder ;
44import net .minecraft .core .BlockPos ;
5- import net .minecraft .gametest .framework .GameTest ;
65import net .minecraft .gametest .framework .GameTestAssertException ;
76import net .minecraft .gametest .framework .GameTestHelper ;
8- import net .minecraft .nbt .Tag ;
7+ import net .minecraft .nbt .CompoundTag ;
98import net .minecraft .nbt .TagParser ;
10- import net .minecraft .resources .ResourceLocation ;
9+ import net .minecraft .network .chat .Component ;
10+ import net .minecraft .resources .Identifier ;
1111import net .minecraft .server .level .ServerPlayer ;
1212import net .minecraft .world .SimpleContainer ;
1313import net .minecraft .world .item .ItemStack ;
1414import net .minecraft .world .item .Items ;
1515import net .neoforged .neoforge .common .NeoForge ;
1616import 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 ;
1918import org .cyclops .integratedcrafting .Reference ;
2019import org .cyclops .integratedcrafting .part .PartTypeInterfaceCrafting ;
2120import org .cyclops .integratedcrafting .part .PartTypes ;
2221import org .cyclops .integrateddynamics .RegistryEntries ;
2322import org .cyclops .integrateddynamics .api .evaluate .variable .IValue ;
2423import org .cyclops .integrateddynamics .api .evaluate .variable .IVariable ;
25- import org .cyclops .integrateddynamics .api .evaluate .variable .ValueDeseralizationContext ;
2624import org .cyclops .integrateddynamics .api .part .PartPos ;
2725import org .cyclops .integrateddynamics .api .part .PartTarget ;
2826import org .cyclops .integrateddynamics .api .part .write .IPartStateWriter ;
3230import org .cyclops .integrateddynamics .core .evaluate .variable .Variable ;
3331import org .cyclops .integrateddynamics .core .helper .PartHelpers ;
3432import 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 )
4442public 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}
0 commit comments