tangled
alpha
login
or
join now
codexarchonic.nekoweb.org
/
ProjectInfinity
0
fork
atom
Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
0
fork
atom
overview
issues
6
pulls
pipelines
Initial data generation push
cassian.cc
2 months ago
2a7b198b
a129afcd
+7254
-671
528 changed files
expand all
collapse all
unified
split
CHANGELOG-LATEST.md
build.fabric.gradle.kts
build.forge.gradle.kts
build.neoforge.gradle.kts
src
main
java
net
lerariemann
infinity
block
custom
AntBlock.java
BiomeBottleBlock.java
RailHelper.java
entity
BiomeBottleBlockEntity.java
InfinityPortalBlockEntity.java
compat
CreateCompat.java
PonderCompat.java
data
InfinityAdvancementProvider.java
InfinityDataGenerator.java
loot
InfinityBlockLootTableProvider.java
recipe
ChromaticColoringRecipeBuilder.java
CollisionRecipeBuilder.java
InfinityRecipeProvider.java
tags
InfinityBlockTagProvider.java
InfinityEntityTagProvider.java
InfinityFluidTagProvider.java
InfinityItemTagProvider.java
entity
client
DimensionalSlimeCoreRenderer.java
custom
ChaosCreeper.java
ChaosPawn.java
ChaosSkeleton.java
ChaosSlime.java
iridescence
Iridescence.java
item
F4Item.java
StarOfLangItem.java
TransfiniteKeyItem.java
function
CollisionCraftingRecipe.java
mixin
InfinityMixinPlugin.java
iridescence
PostPassMixin.java
mobs
SlimeEntityMixin.java
options
WorldRendererMixin.java
registry
core
ModBlockEntities.java
ModEntities.java
ModStatusEffects.java
var
ModItemGroups.java
ModMaterialRules.java
ModPoi.java
ModScreenHandlers.java
util
InfinityMethods.java
core
Easterizer.java
NbtUtils.java
platform
InfinityPlatform.java
fabric
FabricClientEntrypoint.java
FabricEntrypoint.java
FabricPlatformImpl.java
ModFluidsFabric.java
ModPayloadsFabric.java
compat
ModConfigFactory.java
ModMenuCompat.java
neoforge
FluidTypes.java
InfinityModNeoForgeClient.java
InfinityModNeoforge.java
IridescenceLiquidBlockNeoforge.java
ModConfigFactory.java
ModEffectsNeoforge.java
ModFluidsNeoforge.java
NeoForgePlatformImpl.java
screen
F4ScreenHandler.java
teleport
PortalCreator.java
resources
data
infinity
recipe
netherite_slab_from_stonecutting.json
netherite_stairs_from_stonecutting.json
tags
item
matter.json
fabric.mod.json
resourcepacks
20
data
infinity
recipes
chromatic_carpet_from_wool.json
netherite_slab_from_stonecutting.json
netherite_stairs_from_stonecutting.json
tags
items
matter.json
22
data
infinity
recipe
ant.json
biome_bottle_combining.json
biome_bottle_from_portal.json
chromatic_carpet.json
f4_recharging.json
key_from_iridescence.json
netherite_slab_from_stonecutting.json
netherite_stairs_from_stonecutting.json
stonecutter.gradle.kts
versions
1.20.1-fabric
src
main
generated
data
c
tags
items
buckets.json
infinity
advancements
recipes
building_blocks
ant.json
ant1.json
cursor.json
iridescent_carpet_from_wool.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
misc
black_matter.json
cosmic_altar.json
f4.json
fine_item.json
footprint.json
white_matter.json
redstone
altar.json
loot_tables
blocks
ant.json
book_box.json
cosmic_altar.json
cursor.json
iridescent_carpet.json
iridescent_kelp.json
iridescent_kelp_plant.json
iridescent_wool.json
netherite_stairs.json
notes_block.json
recipes
altar.json
altar_from_portal.json
ant.json
ant1.json
biome_bottle_from_portal.json
black_matter.json
book_box_from_portal.json
chromatic_carpet.json
chromatic_carpet_from_portal.json
chromatic_matter_from_iridescence.json
chromatic_matter_from_portal.json
chromatic_wool.json
chromatic_wool_from_portal.json
cosmic_altar.json
cursor.json
f4.json
f4_from_portal.json
fine_item.json
footprint.json
iridescent_carpet_from_iridescence.json
iridescent_carpet_from_wool.json
iridescent_potion_from_portal.json
iridescent_star_from_iridescence.json
iridescent_wool_from_iridescence.json
key_from_iridescence.json
key_from_portal.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
notes_block_from_portal.json
timebomb_from_portal.json
white_matter.json
tags
blocks
iridescent.json
items
iridescent.json
matter.json
minecraft
tags
blocks
mineable
axe.json
pickaxe.json
portals.json
slabs.json
stairs.json
wool.json
wool_carpets.json
entity_types
frog_food.json
skeletons.json
fluids
water.json
items
wool.json
wool_carpets.json
1.20.1-forge
src
main
generated
data
c
tags
items
buckets.json
infinity
advancements
recipes
building_blocks
ant.json
ant1.json
cursor.json
iridescent_carpet_from_wool.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
misc
black_matter.json
cosmic_altar.json
f4.json
fine_item.json
footprint.json
white_matter.json
redstone
altar.json
loot_tables
blocks
ant.json
book_box.json
cosmic_altar.json
cursor.json
iridescent_carpet.json
iridescent_kelp.json
iridescent_kelp_plant.json
iridescent_wool.json
netherite_stairs.json
notes_block.json
recipes
altar.json
altar_from_portal.json
ant.json
ant1.json
biome_bottle_from_portal.json
black_matter.json
book_box_from_portal.json
chromatic_carpet.json
chromatic_carpet_from_portal.json
chromatic_matter_from_iridescence.json
chromatic_matter_from_portal.json
chromatic_wool.json
chromatic_wool_from_portal.json
cosmic_altar.json
cursor.json
f4.json
f4_from_portal.json
fine_item.json
footprint.json
iridescent_carpet_from_iridescence.json
iridescent_carpet_from_wool.json
iridescent_potion_from_portal.json
iridescent_star_from_iridescence.json
iridescent_wool_from_iridescence.json
key_from_iridescence.json
key_from_portal.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
notes_block_from_portal.json
timebomb_from_portal.json
white_matter.json
tags
blocks
iridescent.json
items
iridescent.json
matter.json
minecraft
tags
blocks
mineable
axe.json
pickaxe.json
portals.json
slabs.json
stairs.json
wool.json
wool_carpets.json
entity_types
frog_food.json
skeletons.json
fluids
water.json
items
wool.json
wool_carpets.json
1.21.1-fabric
src
main
generated
data
c
tags
item
buckets.json
infinity
advancement
recipes
building_blocks
ant.json
ant1.json
cursor.json
iridescent_carpet_from_wool.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
misc
black_matter.json
cosmic_altar.json
f4.json
fine_item.json
footprint.json
white_matter.json
redstone
altar.json
loot_table
blocks
ant.json
book_box.json
cosmic_altar.json
cursor.json
iridescent_carpet.json
iridescent_kelp.json
iridescent_kelp_plant.json
iridescent_wool.json
netherite_stairs.json
notes_block.json
recipe
altar.json
altar_from_portal.json
ant.json
ant1.json
biome_bottle_from_portal.json
black_matter.json
book_box_from_portal.json
chromatic_carpet_from_portal.json
chromatic_coloring_carpet.json
chromatic_coloring_wool.json
chromatic_matter.json
chromatic_matter_from_iridescence.json
chromatic_wool.json
cosmic_altar.json
cursor.json
f4.json
f4_from_portal.json
fine_item.json
footprint.json
iridescence_bottle_from_portal.json
iridescent_carpet.json
iridescent_carpet_from_wool.json
iridescent_star.json
iridescent_wool.json
key_from_iridescence.json
key_from_portal.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
notes_block_from_portal.json
timebomb_from_portal.json
white_matter.json
tags
block
iridescent.json
item
iridescent.json
matter.json
minecraft
tags
block
mineable
axe.json
pickaxe.json
portals.json
slabs.json
stairs.json
wool.json
wool_carpets.json
entity_type
arthropod.json
frog_food.json
skeletons.json
fluid
water.json
item
wool.json
wool_carpets.json
1.21.1-neoforge
src
main
generated
data
c
tags
item
buckets.json
infinity
advancement
recipes
building_blocks
ant.json
ant1.json
cursor.json
iridescent_carpet_from_wool.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
misc
black_matter.json
cosmic_altar.json
f4.json
fine_item.json
footprint.json
white_matter.json
redstone
altar.json
loot_table
blocks
ant.json
book_box.json
cosmic_altar.json
cursor.json
iridescent_carpet.json
iridescent_kelp.json
iridescent_kelp_plant.json
iridescent_wool.json
netherite_stairs.json
notes_block.json
recipe
altar.json
altar_from_portal.json
ant.json
ant1.json
biome_bottle_from_portal.json
black_matter.json
book_box_from_portal.json
chromatic_carpet_from_portal.json
chromatic_coloring_carpet.json
chromatic_coloring_wool.json
chromatic_matter.json
chromatic_matter_from_iridescence.json
chromatic_wool.json
cosmic_altar.json
cursor.json
f4.json
f4_from_portal.json
fine_item.json
footprint.json
iridescence_bottle_from_portal.json
iridescent_carpet.json
iridescent_carpet_from_wool.json
iridescent_star.json
iridescent_wool.json
key_from_iridescence.json
key_from_portal.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
notes_block_from_portal.json
timebomb_from_portal.json
white_matter.json
tags
block
iridescent.json
item
iridescent.json
matter.json
minecraft
tags
block
mineable
axe.json
pickaxe.json
portals.json
slabs.json
stairs.json
wool.json
wool_carpets.json
entity_type
arthropod.json
frog_food.json
skeletons.json
fluid
water.json
item
wool.json
wool_carpets.json
1.21.8-fabric
src
main
generated
data
c
tags
item
buckets.json
infinity
advancement
recipes
building_blocks
ant.json
ant1.json
cursor.json
iridescent_carpet_from_wool.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
misc
black_matter.json
cosmic_altar.json
f4.json
fine_item.json
footprint.json
white_matter.json
redstone
altar.json
loot_table
blocks
ant.json
book_box.json
cosmic_altar.json
cursor.json
iridescent_carpet.json
iridescent_kelp.json
iridescent_kelp_plant.json
iridescent_wool.json
netherite_stairs.json
notes_block.json
recipe
altar.json
altar_from_portal.json
ant.json
ant1.json
biome_bottle_from_portal.json
black_matter.json
book_box_from_portal.json
chromatic_carpet_from_portal.json
chromatic_coloring_carpet.json
chromatic_coloring_wool.json
chromatic_matter.json
chromatic_matter_from_iridescence.json
chromatic_wool.json
cosmic_altar.json
cursor.json
f4.json
f4_from_portal.json
fine_item.json
footprint.json
iridescence_bottle_from_portal.json
iridescent_carpet.json
iridescent_carpet_from_wool.json
iridescent_star.json
iridescent_wool.json
key_from_iridescence.json
key_from_portal.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
notes_block_from_portal.json
timebomb_from_portal.json
white_matter.json
tags
block
iridescent.json
item
iridescent.json
matter.json
minecraft
tags
block
mineable
axe.json
pickaxe.json
portals.json
slabs.json
stairs.json
wool.json
wool_carpets.json
entity_type
arthropod.json
frog_food.json
skeletons.json
fluid
water.json
item
wool.json
wool_carpets.json
1.21.8-neoforge
src
main
generated
data
c
tags
item
buckets.json
infinity
advancement
recipes
building_blocks
ant.json
ant1.json
cursor.json
iridescent_carpet_from_wool.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
misc
black_matter.json
cosmic_altar.json
f4.json
fine_item.json
footprint.json
white_matter.json
redstone
altar.json
loot_table
blocks
ant.json
book_box.json
cosmic_altar.json
cursor.json
iridescent_carpet.json
iridescent_kelp.json
iridescent_kelp_plant.json
iridescent_wool.json
netherite_stairs.json
notes_block.json
recipe
altar.json
altar_from_portal.json
ant.json
ant1.json
biome_bottle_from_portal.json
black_matter.json
book_box_from_portal.json
chromatic_carpet_from_portal.json
chromatic_coloring_carpet.json
chromatic_coloring_wool.json
chromatic_matter.json
chromatic_matter_from_iridescence.json
chromatic_wool.json
cosmic_altar.json
cursor.json
f4.json
f4_from_portal.json
fine_item.json
footprint.json
iridescence_bottle_from_portal.json
iridescent_carpet.json
iridescent_carpet_from_wool.json
iridescent_star.json
iridescent_wool.json
key_from_iridescence.json
key_from_portal.json
netherite_block_from_netherite_slab_stonecutting.json
netherite_block_from_netherite_stairs_stonecutting.json
netherite_slab.json
netherite_stairs.json
notes_block_from_portal.json
timebomb_from_portal.json
white_matter.json
tags
block
iridescent.json
item
iridescent.json
matter.json
minecraft
tags
block
mineable
axe.json
pickaxe.json
portals.json
slabs.json
stairs.json
wool.json
wool_carpets.json
entity_type
arthropod.json
frog_food.json
skeletons.json
fluid
water.json
item
wool.json
wool_carpets.json
+1
-1
CHANGELOG-LATEST.md
···
1
1
-
A crucial crash exclusive to Fabric 1.21.8 is fixed which was triggering a ConcurrentModificationException on every portal activation.
1
1
+
- The mod now makes use of data generation, improving consistency between versions.
+14
-6
build.fabric.gradle.kts
···
11
11
version = "${property("mod.version")}+${property("deps.minecraft")}"
12
12
if (property("mod.test_build") != "0") version = "$version-tb${property("mod.test_build")}"
13
13
14
14
+
val majorVersion = if (stonecutter.eval(stonecutter.current.version, ">=1.21.2")) {
15
15
+
22
16
16
+
} else if (stonecutter.eval(stonecutter.current.version, ">=1.21")) {
17
17
+
21
18
18
+
} else {
19
19
+
20
20
20
+
}
21
21
+
22
22
+
14
23
tasks.named<ProcessResources>("processResources") {
15
24
fun prop(name: String) = project.property(name) as String
16
25
···
211
220
}
212
221
213
222
214
214
-
//fabricApi {
215
215
-
// configureDataGeneration() {
216
216
-
// outputDirectory = file("$rootDir/src/main/generated")
217
217
-
// client = true
218
218
-
// }
219
219
-
//}
223
223
+
fabricApi {
224
224
+
configureDataGeneration {
225
225
+
client = true
226
226
+
}
227
227
+
}
220
228
221
229
tasks.named("processResources") {
222
230
dependsOn(":${stonecutter.current.project}:stonecutterGenerate")
+4
build.forge.gradle.kts
···
216
216
}
217
217
}
218
218
219
219
+
tasks.register<Sync>("syncDatagen") {
220
220
+
from(project(":${minecraft}-fabric").tasks.named("runDatagen"))
221
221
+
into(file("src/main/generated/"))
222
222
+
}
219
223
220
224
tasks {
221
225
processResources {
+10
build.neoforge.gradle.kts
···
127
127
sourceSet(sourceSets["main"])
128
128
}
129
129
}
130
130
+
sourceSets["main"].resources.srcDir("src/main/generated")
130
131
}
131
132
132
133
dependencies {
···
159
160
160
161
}
161
162
163
163
+
tasks.named("processResources") {
164
164
+
dependsOn(":${stonecutter.current.project}:stonecutterGenerate")
165
165
+
}
166
166
+
167
167
+
tasks.register<Sync>("syncDatagen") {
168
168
+
from(project(":${minecraft}-fabric").tasks.named("runDatagen"))
169
169
+
exclude("**/.cache")
170
170
+
into(file("src/main/generated/"))
171
171
+
}
162
172
163
173
tasks {
164
174
processResources {
+4
-4
src/main/java/net/lerariemann/infinity/block/custom/AntBlock.java
···
25
25
import com.mojang.serialization.MapCodec;
26
26
//?}
27
27
//? if neoforge {
28
28
-
import javax.annotation.ParametersAreNonnullByDefault;
29
29
-
//?}
28
28
+
/*import javax.annotation.ParametersAreNonnullByDefault;
29
29
+
*///?}
30
30
import java.util.Objects;
31
31
import java.util.logging.Handler;
32
32
33
33
@MethodsReturnNonnullByDefault
34
34
//? if neoforge {
35
35
-
@ParametersAreNonnullByDefault
36
36
-
//?}
35
35
+
/*@ParametersAreNonnullByDefault
36
36
+
*///?}
37
37
public class AntBlock extends HorizontalDirectionalBlock {
38
38
//? if >1.21 {
39
39
public static final MapCodec<AntBlock> CODEC = simpleCodec(AntBlock::new);
+4
-4
src/main/java/net/lerariemann/infinity/block/custom/BiomeBottleBlock.java
···
44
44
import net.minecraft.world.phys.shapes.VoxelShape;
45
45
import org.jetbrains.annotations.Nullable;
46
46
//? if neoforge {
47
47
-
import javax.annotation.ParametersAreNonnullByDefault;
48
48
-
//?}
47
47
+
/*import javax.annotation.ParametersAreNonnullByDefault;
48
48
+
*///?}
49
49
50
50
import java.util.*;
51
51
import java.util.stream.Collectors;
52
52
53
53
@MethodsReturnNonnullByDefault
54
54
//? if neoforge {
55
55
-
@ParametersAreNonnullByDefault
56
56
-
//?}
55
55
+
/*@ParametersAreNonnullByDefault
56
56
+
*///?}
57
57
public class BiomeBottleBlock extends BaseEntityBlock {
58
58
//? if >1.21 {
59
59
public static final MapCodec<BiomeBottleBlock> CODEC = simpleCodec(BiomeBottleBlock::new);
+2
-2
src/main/java/net/lerariemann/infinity/block/custom/RailHelper.java
···
36
36
@Override
37
37
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
38
38
//? if <1.21.2 || fabric {
39
39
-
/*if (ModCompat.CREATE) {
39
39
+
if (ModCompat.CREATE) {
40
40
CreateCompat.reattachRails(world, pos, getBlockEntity(world, pos));
41
41
}else
42
42
-
*///?}
42
42
+
//?}
43
43
world.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState());
44
44
}
45
45
+4
-4
src/main/java/net/lerariemann/infinity/block/entity/BiomeBottleBlockEntity.java
···
33
33
import net.minecraft.core.component.DataComponentMap;
34
34
//?}
35
35
//? if neoforge {
36
36
-
import javax.annotation.ParametersAreNonnullByDefault;
37
37
-
//?}
36
36
+
/*import javax.annotation.ParametersAreNonnullByDefault;
37
37
+
*///?}
38
38
39
39
@MethodsReturnNonnullByDefault
40
40
//? if neoforge {
41
41
-
@ParametersAreNonnullByDefault
42
42
-
//?}
41
41
+
/*@ParametersAreNonnullByDefault
42
42
+
*///?}
43
43
public class BiomeBottleBlockEntity extends TintableBlockEntity {
44
44
private final ContainerData propertyDelegate;
45
45
private ResourceLocation biome;
+2
-2
src/main/java/net/lerariemann/infinity/block/entity/InfinityPortalBlockEntity.java
···
26
26
import org.jetbrains.annotations.Nullable;
27
27
28
28
//? if neoforge
29
29
-
import javax.annotation.ParametersAreNonnullByDefault;
29
29
+
/*import javax.annotation.ParametersAreNonnullByDefault;*/
30
30
import java.util.Random;
31
31
32
32
@MethodsReturnNonnullByDefault
33
33
//? if neoforge
34
34
-
@ParametersAreNonnullByDefault
34
34
+
/*@ParametersAreNonnullByDefault*/
35
35
public class InfinityPortalBlockEntity extends TintableBlockEntity {
36
36
private final ContainerData propertyDelegate;
37
37
private ResourceLocation dimension;
+9
-9
src/main/java/net/lerariemann/infinity/compat/CreateCompat.java
···
7
7
import com.simibubi.create.content.trains.track.TrackShape;
8
8
import net.createmod.catnip.math.BlockFace;
9
9
*///?} else if fabric {
10
10
-
/*import com.zurrtum.create.api.contraption.train.PortalTrackProvider;
10
10
+
import com.zurrtum.create.api.contraption.train.PortalTrackProvider;
11
11
import com.zurrtum.create.catnip.math.BlockFace;
12
12
import com.zurrtum.create.content.trains.track.AllPortalTracks;
13
13
import com.zurrtum.create.content.trains.track.TrackBlock;
14
14
import com.zurrtum.create.content.trains.track.TrackShape;
15
15
-
*///?}
15
15
+
//?}
16
16
//? if <1.21.2 || fabric {
17
17
-
/*import net.lerariemann.infinity.block.custom.RailHelper;
17
17
+
import net.lerariemann.infinity.block.custom.RailHelper;
18
18
import net.lerariemann.infinity.block.entity.InfinityPortalBlockEntity;
19
19
import net.lerariemann.infinity.registry.core.ModBlocks;
20
20
import net.lerariemann.infinity.util.InfinityMethods;
···
32
32
33
33
import java.util.Optional;
34
34
import java.util.Set;
35
35
-
*///?}
35
35
+
//?}
36
36
37
37
public class CreateCompat {
38
38
//? if <1.21.2 || fabric {
39
39
-
/*private static PortalTrackProvider.Exit infinityPortalProvider(ServerLevel worldFrom, BlockFace blockFace) {
39
39
+
private static PortalTrackProvider.Exit infinityPortalProvider(ServerLevel worldFrom, BlockFace blockFace) {
40
40
MinecraftServer server = worldFrom.getServer();
41
41
//? if <1.21
42
42
-
/^if (!server.isNetherEnabled()) return null;^/
42
42
+
/*if (!server.isNetherEnabled()) return null;*/
43
43
//? if >1.21.9 {
44
44
-
/^server.getGameRules().getRule(GameRules.RULE_ALLOW_NETHER);
45
45
-
^///?}
44
44
+
/*server.getGameRules().getRule(GameRules.RULE_ALLOW_NETHER);
45
45
+
*///?}
46
46
BlockPos posFrom = blockFace.getConnectedPos();
47
47
if (worldFrom.getBlockEntity(posFrom) instanceof InfinityPortalBlockEntity ipbe
48
48
&& ipbe.isConnectedBothSides()) { //we only allow trains through if portals are in sync
···
141
141
else bs = b.get().defaultBlockState().setValue(TrackBlock.SHAPE, e.shape.equals("zo") ? TrackShape.ZO : TrackShape.XO);
142
142
world.setBlockAndUpdate(pos, bs);
143
143
}
144
144
-
*///?}
144
144
+
//?}
145
145
}
+6
-6
src/main/java/net/lerariemann/infinity/compat/PonderCompat.java
···
3
3
//? if <1.21.2
4
4
/*import net.createmod.ponder.api.level.PonderLevel;*/
5
5
//? if >1.21.4 && fabric {
6
6
-
/*import com.zurrtum.create.client.ponder.api.level.PonderLevel;
7
7
-
*///?}
6
6
+
import com.zurrtum.create.client.ponder.api.level.PonderLevel;
7
7
+
//?}
8
8
import net.minecraft.world.level.Level;
9
9
10
10
public class PonderCompat {
11
11
public static boolean isPonderLevel(Level world) {
12
12
//? if <1.21.2 || fabric {
13
13
-
/*return world instanceof PonderLevel;
14
14
-
*///?} else {
15
15
-
return false;
16
16
-
//?}
13
13
+
return world instanceof PonderLevel;
14
14
+
//?} else {
15
15
+
/*return false;
16
16
+
*///?}
17
17
}
18
18
}
+128
src/main/java/net/lerariemann/infinity/data/InfinityAdvancementProvider.java
···
1
1
+
package net.lerariemann.infinity.data;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider;
7
7
+
import net.lerariemann.infinity.InfinityMod;
8
8
+
import net.lerariemann.infinity.registry.core.ModItems;
9
9
+
import net.lerariemann.infinity.registry.var.ModCriteria;
10
10
+
import net.lerariemann.infinity.util.VersionMethods;
11
11
+
import net.minecraft.advancements.Advancement;
12
12
+
//? >1.21 {
13
13
+
import net.minecraft.advancements.AdvancementHolder;
14
14
+
import static net.minecraft.advancements.AdvancementRequirements.*;
15
15
+
import static net.minecraft.advancements.AdvancementRequirements.Strategy.OR;
16
16
+
import static net.minecraft.advancements.AdvancementType.TASK;
17
17
+
//?} else {
18
18
+
/*import static net.minecraft.advancements.FrameType.TASK;
19
19
+
import static net.minecraft.advancements.RequirementsStrategy.OR;
20
20
+
*///?}
21
21
+
import net.minecraft.advancements.Criterion;
22
22
+
import net.minecraft.core.HolderLookup;
23
23
+
import net.minecraft.network.chat.Component;
24
24
+
import net.minecraft.world.item.Items;
25
25
+
26
26
+
import java.util.Optional;
27
27
+
import java.util.concurrent.CompletableFuture;
28
28
+
import java.util.function.Consumer;
29
29
+
30
30
+
31
31
+
32
32
+
public class InfinityAdvancementProvider extends FabricAdvancementProvider {
33
33
+
34
34
+
public InfinityAdvancementProvider(FabricDataOutput dataOutput, CompletableFuture<HolderLookup.Provider> registryLookup) {
35
35
+
super(dataOutput
36
36
+
//? >1.21
37
37
+
, registryLookup
38
38
+
);
39
39
+
}
40
40
+
41
41
+
@Override
42
42
+
public void generateAdvancement(
43
43
+
//? if >1.21 {
44
44
+
HolderLookup.Provider registryLookup, Consumer<AdvancementHolder> consumer
45
45
+
//?} else {
46
46
+
/*Consumer<Advancement> consumer
47
47
+
*///?}
48
48
+
) {
49
49
+
var acidTest = Advancement.Builder.advancement()
50
50
+
//.parent(iridescence)
51
51
+
.display(
52
52
+
ModItems.TRANSFINITE_KEY.get(), // The display icon
53
53
+
Component.translatable("advancements.infinity.acid_test.title"), // The title
54
54
+
Component.literal("advancements.infinity.acid_test.description"), // The description
55
55
+
null, // Background image for the tab in the advancements page, if this is a root advancement (has no parent)
56
56
+
TASK, // TASK, CHALLENGE, or GOAL
57
57
+
true, // Show the toast when completing it
58
58
+
true, // Announce it to chat
59
59
+
false // Hide it in the advancement tab until it's achieved
60
60
+
)
61
61
+
.addCriterion("creeper", mobChangeCriterion("minecraft:creeper"))
62
62
+
.addCriterion("skeleton", mobChangeCriterion("minecraft:skeleton"))
63
63
+
.addCriterion("slime", mobChangeCriterion("minecraft:slime"))
64
64
+
.addCriterion("pawn", mobChangeCriterion("infinity:chaos_pawn"))
65
65
+
.requirements(OR)
66
66
+
// Give the advancement an id
67
67
+
.save(consumer, InfinityMod.MOD_ID + ":acid_test");
68
68
+
// FIXME - generating advancements with parents appears to be broken on 1.20?
69
69
+
//? if >1.21 {
70
70
+
var multiverseRoot = Advancement.Builder.advancement()
71
71
+
.parent(VersionMethods.id("minecraft", "story/enter_the_nether"))
72
72
+
.display(
73
73
+
Items.WRITABLE_BOOK, // The display icon
74
74
+
Component.translatable("advancements.infinity.multiverse_start.title"), // The title
75
75
+
Component.literal("advancements.infinity.multiverse_start.description"), // The description
76
76
+
null, // Background image for the tab in the advancements page, if this is a root advancement (has no parent)
77
77
+
TASK, // TASK, CHALLENGE, or GOAL
78
78
+
true, // Show the toast when completing it
79
79
+
true, // Announce it to chat
80
80
+
false // Hide it in the advancement tab until it's achieved
81
81
+
)
82
82
+
.addCriterion("infinity_dims_open", dimsOpenCriterion(1))
83
83
+
// Give the advancement an id
84
84
+
.save(consumer, InfinityMod.MOD_ID + ":multiverse_root");
85
85
+
86
86
+
var allTime = Advancement.Builder.advancement()
87
87
+
.parent(multiverseRoot)
88
88
+
.display(
89
89
+
Items.CLOCK, // The display icon
90
90
+
Component.translatable("advancements.infinity.all_time.title"), // The title
91
91
+
Component.literal("advancements.infinity.all_time.description"), // The description
92
92
+
null, // Background image for the tab in the advancements page, if this is a root advancement (has no parent)
93
93
+
TASK, // TASK, CHALLENGE, or GOAL
94
94
+
true, // Show the toast when completing it
95
95
+
true, // Announce it to chat
96
96
+
false // Hide it in the advancement tab until it's achieved
97
97
+
)
98
98
+
.addCriterion("infinity_dims_closed", dimsClosedCriterion(1))
99
99
+
// Give the advancement an id
100
100
+
.save(consumer, InfinityMod.MOD_ID + ":all_time");
101
101
+
//?}
102
102
+
}
103
103
+
104
104
+
public Criterion mobChangeCriterion(String data) {
105
105
+
//? if >1.21 {
106
106
+
return ModCriteria.CONVERT_MOB.get().createCriterion(new ModCriteria.DataConditions(Optional.empty(), data));
107
107
+
//?} else {
108
108
+
/*return new Criterion(ModCriteria.DataConditions.create(data, ModCriteria.CONVERT_MOB.get().getId()));
109
109
+
*///?}
110
110
+
}
111
111
+
112
112
+
public Criterion dimsOpenCriterion(int data) {
113
113
+
//? if >1.21 {
114
114
+
return ModCriteria.DIMS_OPENED.get().createCriterion(new ModCriteria.ScoredConditions(Optional.empty(), data));
115
115
+
//?} else {
116
116
+
/*return new Criterion(ModCriteria.ScoredConditions.create(data, ModCriteria.DIMS_OPENED.get().getId()));
117
117
+
*///?}
118
118
+
}
119
119
+
120
120
+
public Criterion dimsClosedCriterion(int data) {
121
121
+
//? if >1.21 {
122
122
+
return ModCriteria.DIMS_CLOSED.get().createCriterion(new ModCriteria.ScoredConditions(Optional.empty(), data));
123
123
+
//?} else {
124
124
+
/*return new Criterion(ModCriteria.ScoredConditions.create(data, ModCriteria.DIMS_CLOSED.get().getId()));
125
125
+
*///?}
126
126
+
}
127
127
+
}
128
128
+
//?}
+31
src/main/java/net/lerariemann/infinity/data/InfinityDataGenerator.java
···
1
1
+
package net.lerariemann.infinity.data;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
7
7
+
import net.lerariemann.infinity.data.loot.InfinityBlockLootTableProvider;
8
8
+
import net.lerariemann.infinity.data.recipe.InfinityRecipeProvider;
9
9
+
import net.lerariemann.infinity.data.tags.InfinityBlockTagProvider;
10
10
+
import net.lerariemann.infinity.data.tags.InfinityEntityTagProvider;
11
11
+
import net.lerariemann.infinity.data.tags.InfinityFluidTagProvider;
12
12
+
import net.lerariemann.infinity.data.tags.InfinityItemTagProvider;
13
13
+
14
14
+
public class InfinityDataGenerator implements DataGeneratorEntrypoint {
15
15
+
@Override
16
16
+
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
17
17
+
FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();
18
18
+
//tags
19
19
+
pack.addProvider(InfinityBlockTagProvider::new);
20
20
+
pack.addProvider(InfinityItemTagProvider::new);
21
21
+
pack.addProvider(InfinityFluidTagProvider::new);
22
22
+
pack.addProvider(InfinityEntityTagProvider::new);
23
23
+
//loot tables
24
24
+
pack.addProvider(InfinityBlockLootTableProvider::new);
25
25
+
// advancements - buggy on 1.20 and really don't change enough to matter
26
26
+
// pack.addProvider(InfinityAdvancementProvider::new);
27
27
+
// recipes
28
28
+
pack.addProvider(InfinityRecipeProvider::new);
29
29
+
}
30
30
+
}
31
31
+
//?}
+41
src/main/java/net/lerariemann/infinity/data/loot/InfinityBlockLootTableProvider.java
···
1
1
+
package net.lerariemann.infinity.data.loot;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider;
7
7
+
import net.lerariemann.infinity.registry.core.ModBlocks;
8
8
+
import net.minecraft.core.HolderLookup;
9
9
+
import net.minecraft.world.item.Items;
10
10
+
11
11
+
import java.util.concurrent.CompletableFuture;
12
12
+
13
13
+
public class InfinityBlockLootTableProvider extends FabricBlockLootTableProvider {
14
14
+
15
15
+
public InfinityBlockLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<HolderLookup.Provider> registryLookup) {
16
16
+
super(dataOutput
17
17
+
//? if >1.21
18
18
+
, registryLookup
19
19
+
);
20
20
+
}
21
21
+
22
22
+
@Override
23
23
+
public void generate() {
24
24
+
//todo altar
25
25
+
dropSelf(ModBlocks.ANT.get());
26
26
+
//todo biome bottle
27
27
+
dropSelf(ModBlocks.BOOK_BOX.get());
28
28
+
//todo chromatic carpet
29
29
+
//todo chromatic wool
30
30
+
dropSelf(ModBlocks.COSMIC_ALTAR.get());
31
31
+
dropSelf(ModBlocks.CURSOR.get());
32
32
+
dropSelf(ModBlocks.IRIDESCENT_CARPET.get());
33
33
+
dropSelf(ModBlocks.IRIDESCENT_WOOL.get());
34
34
+
dropOther(ModBlocks.IRIDESCENT_KELP.get(), Items.KELP);
35
35
+
dropOther(ModBlocks.IRIDESCENT_KELP_PLANT.get(), Items.KELP);
36
36
+
createSlabItemTable(ModBlocks.NETHERITE_SLAB.get());
37
37
+
dropSelf(ModBlocks.NETHERITE_STAIRS.get());
38
38
+
dropSelf(ModBlocks.NOTES_BLOCK.get());
39
39
+
}
40
40
+
}
41
41
+
//?}
+117
src/main/java/net/lerariemann/infinity/data/recipe/ChromaticColoringRecipeBuilder.java
···
1
1
+
package net.lerariemann.infinity.data.recipe;
2
2
+
3
3
+
4
4
+
import net.lerariemann.infinity.item.function.ChromaticColoringRecipe;
5
5
+
import net.lerariemann.infinity.registry.core.ModItemFunctions;
6
6
+
import net.lerariemann.infinity.util.InfinityMethods;
7
7
+
import net.minecraft.core.registries.BuiltInRegistries;
8
8
+
import net.minecraft.core.registries.Registries;
9
9
+
import net.minecraft.data.recipes.RecipeBuilder;
10
10
+
//? >1.21 {
11
11
+
import net.minecraft.data.recipes.RecipeOutput;
12
12
+
import net.minecraft.advancements.AdvancementHolder;
13
13
+
import net.minecraft.advancements.Criterion;
14
14
+
//?} else {
15
15
+
/*import net.minecraft.data.recipes.FinishedRecipe;
16
16
+
import net.lerariemann.infinity.registry.core.ModItemFunctions;
17
17
+
import com.google.gson.JsonObject;
18
18
+
import net.minecraft.advancements.CriterionTriggerInstance;
19
19
+
*///?}
20
20
+
import net.minecraft.resources.ResourceKey;
21
21
+
import net.minecraft.resources.ResourceLocation;
22
22
+
import net.minecraft.world.item.Item;
23
23
+
import net.minecraft.world.item.crafting.Ingredient;
24
24
+
import net.minecraft.world.item.crafting.Recipe;
25
25
+
import net.minecraft.world.item.crafting.RecipeSerializer;
26
26
+
import net.minecraft.world.level.ItemLike;
27
27
+
import org.jetbrains.annotations.Nullable;
28
28
+
29
29
+
import java.util.Locale;
30
30
+
import java.util.function.Consumer;
31
31
+
32
32
+
public class ChromaticColoringRecipeBuilder implements RecipeBuilder {
33
33
+
private final Ingredient input;
34
34
+
private final Item output;
35
35
+
36
36
+
ChromaticColoringRecipeBuilder(Ingredient input, ItemLike output) {
37
37
+
this.input = input;
38
38
+
this.output = output.asItem();
39
39
+
40
40
+
}
41
41
+
42
42
+
@Override
43
43
+
public RecipeBuilder group(@Nullable String groupName) {
44
44
+
return null;
45
45
+
}
46
46
+
47
47
+
48
48
+
49
49
+
@Override
50
50
+
public Item getResult() {
51
51
+
return this.output;
52
52
+
}
53
53
+
54
54
+
//? if >1.21.2 {
55
55
+
public void save(RecipeOutput recipeOutput, ResourceKey<Recipe<?>> id) {
56
56
+
ChromaticColoringRecipe recipe = new ChromaticColoringRecipe(input, output.getDefaultInstance());
57
57
+
recipeOutput.accept(id, recipe, null);
58
58
+
}
59
59
+
//?}
60
60
+
61
61
+
//? >1.21 {
62
62
+
public void save(RecipeOutput recipeOutput, ResourceLocation id) {
63
63
+
//? if <1.21.2 {
64
64
+
/*ChromaticColoringRecipe recipe = new ChromaticColoringRecipe(input, output.getDefaultInstance());
65
65
+
recipeOutput.accept(id, recipe, null);
66
66
+
*///?} else {
67
67
+
save(recipeOutput, ResourceKey.create(Registries.RECIPE, id));
68
68
+
//?}
69
69
+
}
70
70
+
71
71
+
@Override
72
72
+
public RecipeBuilder unlockedBy(String name, Criterion<?> criterion) {
73
73
+
return null;
74
74
+
}
75
75
+
//?} else {
76
76
+
/*@Override
77
77
+
public RecipeBuilder unlockedBy(String criterionName, CriterionTriggerInstance criterionTrigger) {
78
78
+
return null;
79
79
+
}
80
80
+
81
81
+
@Override
82
82
+
public void save(Consumer<FinishedRecipe> finishedRecipeConsumer, ResourceLocation recipeId) {
83
83
+
finishedRecipeConsumer.accept(new CollisionRecipeResult());
84
84
+
}
85
85
+
86
86
+
private class CollisionRecipeResult implements FinishedRecipe {
87
87
+
@Override
88
88
+
public void serializeRecipeData(JsonObject json) {
89
89
+
json.add("input", input.toJson());
90
90
+
JsonObject result = new JsonObject();
91
91
+
result.addProperty("item", BuiltInRegistries.ITEM.getKey(output).toString());
92
92
+
json.add("output", result);
93
93
+
}
94
94
+
95
95
+
@Override
96
96
+
public ResourceLocation getId() {
97
97
+
return BuiltInRegistries.ITEM.getKey(output);
98
98
+
}
99
99
+
100
100
+
@Override
101
101
+
public RecipeSerializer<?> getType() {
102
102
+
return ModItemFunctions.CHROMATIC_COLORING.get();
103
103
+
}
104
104
+
105
105
+
@Override
106
106
+
public @Nullable JsonObject serializeAdvancement() {
107
107
+
return null;
108
108
+
}
109
109
+
110
110
+
@Override
111
111
+
public @Nullable ResourceLocation getAdvancementId() {
112
112
+
return null;
113
113
+
}
114
114
+
}
115
115
+
*///?}
116
116
+
117
117
+
}
+160
src/main/java/net/lerariemann/infinity/data/recipe/CollisionRecipeBuilder.java
···
1
1
+
package net.lerariemann.infinity.data.recipe;
2
2
+
3
3
+
4
4
+
import net.lerariemann.infinity.item.function.CollisionCraftingRecipe;
5
5
+
import net.lerariemann.infinity.util.InfinityMethods;
6
6
+
import net.minecraft.advancements.Advancement;
7
7
+
import net.minecraft.core.registries.BuiltInRegistries;
8
8
+
import net.minecraft.core.registries.Registries;
9
9
+
import net.minecraft.data.recipes.RecipeBuilder;
10
10
+
//? >1.21 {
11
11
+
import net.minecraft.data.recipes.RecipeOutput;
12
12
+
import net.minecraft.advancements.AdvancementHolder;
13
13
+
import net.minecraft.advancements.Criterion;
14
14
+
//?} else {
15
15
+
/*import net.minecraft.data.recipes.FinishedRecipe;
16
16
+
import net.lerariemann.infinity.registry.core.ModItemFunctions;
17
17
+
import com.google.gson.JsonObject;
18
18
+
import net.minecraft.advancements.CriterionTriggerInstance;
19
19
+
*///?}
20
20
+
import net.minecraft.resources.ResourceKey;
21
21
+
import net.minecraft.resources.ResourceLocation;
22
22
+
import net.minecraft.world.item.Item;
23
23
+
import net.minecraft.world.item.crafting.Ingredient;
24
24
+
import net.minecraft.world.item.crafting.Recipe;
25
25
+
import net.minecraft.world.item.crafting.RecipeSerializer;
26
26
+
import net.minecraft.world.item.crafting.RecipeType;
27
27
+
import net.minecraft.world.level.ItemLike;
28
28
+
import org.jetbrains.annotations.Nullable;
29
29
+
30
30
+
import java.util.Locale;
31
31
+
import java.util.function.Consumer;
32
32
+
33
33
+
public class CollisionRecipeBuilder implements RecipeBuilder {
34
34
+
private final CollisionCraftingRecipe.Type type;
35
35
+
private final Ingredient input;
36
36
+
private final Item output;
37
37
+
private final String lore;
38
38
+
39
39
+
CollisionRecipeBuilder(CollisionCraftingRecipe.Type type, Ingredient input, ItemLike output, String lore) {
40
40
+
//? if >1.21 {
41
41
+
if (lore.isEmpty()) {
42
42
+
this.lore = "empty";
43
43
+
} else {
44
44
+
this.lore = lore;
45
45
+
}
46
46
+
//?} else {
47
47
+
/*this.lore = lore;
48
48
+
*///?}
49
49
+
this.type = type;
50
50
+
this.input = input;
51
51
+
this.output = output.asItem();
52
52
+
53
53
+
}
54
54
+
55
55
+
@Override
56
56
+
public RecipeBuilder group(@Nullable String groupName) {
57
57
+
return null;
58
58
+
}
59
59
+
60
60
+
public ResourceLocation getDefaultId() {
61
61
+
return InfinityMethods.getId(BuiltInRegistries.ITEM.getKey(output).getPath() + "_from_" + type.name().toLowerCase(Locale.ROOT));
62
62
+
}
63
63
+
64
64
+
@Override
65
65
+
public Item getResult() {
66
66
+
return this.output;
67
67
+
}
68
68
+
69
69
+
//? if >1.21.2 {
70
70
+
public void save(RecipeOutput recipeOutput, ResourceKey<Recipe<?>> id) {
71
71
+
CollisionCraftingRecipe recipe = switch (type) {
72
72
+
case IRIDESCENCE -> new CollisionCraftingRecipe.OfIridescence(input, output.getDefaultInstance(), lore);
73
73
+
case PORTAL -> new CollisionCraftingRecipe.OfPortal(input, output.getDefaultInstance(), lore);
74
74
+
};
75
75
+
recipeOutput.accept(id, recipe, null);
76
76
+
}
77
77
+
//?}
78
78
+
79
79
+
//? >1.21 {
80
80
+
public void save(RecipeOutput recipeOutput, ResourceLocation id) {
81
81
+
//? if <1.21.2 {
82
82
+
/*CollisionCraftingRecipe recipe = switch (type) {
83
83
+
case IRIDESCENCE -> new CollisionCraftingRecipe.OfIridescence(input, output.getDefaultInstance(), lore);
84
84
+
case PORTAL -> new CollisionCraftingRecipe.OfPortal(input, output.getDefaultInstance(), lore);
85
85
+
};
86
86
+
recipeOutput.accept(id, recipe, null);
87
87
+
*///?} else {
88
88
+
save(recipeOutput, ResourceKey.create(Registries.RECIPE, id));
89
89
+
//?}
90
90
+
}
91
91
+
92
92
+
@Override
93
93
+
public void save(RecipeOutput recipeOutput) {
94
94
+
save(recipeOutput, getDefaultId());
95
95
+
}
96
96
+
97
97
+
@Override
98
98
+
public void save(RecipeOutput recipeOutput, String id) {
99
99
+
save(recipeOutput, ResourceLocation.parse(id));
100
100
+
}
101
101
+
102
102
+
@Override
103
103
+
public RecipeBuilder unlockedBy(String name, Criterion<?> criterion) {
104
104
+
return null;
105
105
+
}
106
106
+
//?} else {
107
107
+
/*@Override
108
108
+
public RecipeBuilder unlockedBy(String criterionName, CriterionTriggerInstance criterionTrigger) {
109
109
+
return null;
110
110
+
}
111
111
+
112
112
+
@Override
113
113
+
public void save(Consumer<FinishedRecipe> finishedRecipeConsumer, ResourceLocation recipeId) {
114
114
+
finishedRecipeConsumer.accept(new CollisionRecipeResult());
115
115
+
}
116
116
+
117
117
+
@Override
118
118
+
public void save(Consumer<FinishedRecipe> finishedRecipeConsumer, String recipeId) {
119
119
+
save(finishedRecipeConsumer, new ResourceLocation(recipeId));
120
120
+
}
121
121
+
122
122
+
private class CollisionRecipeResult implements FinishedRecipe {
123
123
+
@Override
124
124
+
public void serializeRecipeData(JsonObject json) {
125
125
+
if (!lore.isEmpty()) {
126
126
+
json.addProperty("lore", lore);
127
127
+
}
128
128
+
129
129
+
json.add("input", input.toJson());
130
130
+
JsonObject result = new JsonObject();
131
131
+
result.addProperty("item", BuiltInRegistries.ITEM.getKey(output).toString());
132
132
+
json.add("output", result);
133
133
+
}
134
134
+
135
135
+
@Override
136
136
+
public ResourceLocation getId() {
137
137
+
return getDefaultId();
138
138
+
}
139
139
+
140
140
+
@Override
141
141
+
public RecipeSerializer<?> getType() {
142
142
+
return switch (type) {
143
143
+
case IRIDESCENCE -> ModItemFunctions.IRIDESCENCE_CRAFTING.get();
144
144
+
case PORTAL -> ModItemFunctions.PORTAL_CRAFTING.get();
145
145
+
};
146
146
+
}
147
147
+
148
148
+
@Override
149
149
+
public @Nullable JsonObject serializeAdvancement() {
150
150
+
return null;
151
151
+
}
152
152
+
153
153
+
@Override
154
154
+
public @Nullable ResourceLocation getAdvancementId() {
155
155
+
return null;
156
156
+
}
157
157
+
}
158
158
+
*///?}
159
159
+
160
160
+
}
+303
src/main/java/net/lerariemann/infinity/data/recipe/InfinityRecipeProvider.java
···
1
1
+
package net.lerariemann.infinity.data.recipe;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
7
7
+
import net.lerariemann.infinity.item.function.CollisionCraftingRecipe;
8
8
+
import net.lerariemann.infinity.registry.var.ModTags;
9
9
+
import net.minecraft.core.HolderLookup;
10
10
+
import net.minecraft.core.registries.BuiltInRegistries;
11
11
+
import net.minecraft.data.recipes.*;
12
12
+
import net.minecraft.tags.ItemTags;
13
13
+
import net.minecraft.tags.TagKey;
14
14
+
import net.minecraft.world.item.Item;
15
15
+
import net.minecraft.world.item.ItemStack;
16
16
+
import net.minecraft.world.item.crafting.Ingredient;
17
17
+
import net.minecraft.world.level.ItemLike;
18
18
+
import java.util.Locale;
19
19
+
import java.util.concurrent.CompletableFuture;
20
20
+
import java.util.function.Consumer;
21
21
+
import java.util.function.Supplier;
22
22
+
23
23
+
import static net.lerariemann.infinity.registry.core.ModItems.*;
24
24
+
import static net.minecraft.data.recipes.RecipeCategory.BUILDING_BLOCKS;
25
25
+
import static net.minecraft.data.recipes.RecipeCategory.MISC;
26
26
+
import static net.minecraft.world.item.Items.*;
27
27
+
28
28
+
public class InfinityRecipeProvider extends FabricRecipeProvider {
29
29
+
public InfinityRecipeProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
30
30
+
super(output
31
31
+
//? if >1.21 {
32
32
+
, registriesFuture
33
33
+
//?}
34
34
+
);
35
35
+
}
36
36
+
37
37
+
38
38
+
//? if >1.21.6 {
39
39
+
@Override
40
40
+
protected RecipeProvider createRecipeProvider(HolderLookup.Provider registryLookup, RecipeOutput exporter) {
41
41
+
return new RecipeProvider(registryLookup, exporter) {
42
42
+
43
43
+
@Override
44
44
+
public void buildRecipes() {
45
45
+
46
46
+
//?} else if >1.21 {
47
47
+
48
48
+
/*@Override
49
49
+
public void buildRecipes(RecipeOutput output) {
50
50
+
51
51
+
*///?} else {
52
52
+
/*@Override
53
53
+
public void buildRecipes(Consumer<net.minecraft.data.recipes.FinishedRecipe> output) {
54
54
+
*///?}
55
55
+
56
56
+
57
57
+
// start recipes
58
58
+
59
59
+
shaped(RecipeCategory.REDSTONE, ALTAR_ITEM.get())
60
60
+
.pattern("SSS")
61
61
+
.pattern(" B ")
62
62
+
.pattern(" B ")
63
63
+
.define('S', STONE_SLAB)
64
64
+
.define('B', BOOK_BOX_ITEM.get())
65
65
+
// Create an advancement that gives you the recipe
66
66
+
.unlockedBy(getHasName(BOOK_BOX_ITEM.get()), has(BOOK_BOX_ITEM.get()))
67
67
+
.save(output);
68
68
+
69
69
+
shaped(BUILDING_BLOCKS, ANT_ITEM.get())
70
70
+
.pattern("WBW")
71
71
+
.pattern("BMB")
72
72
+
.pattern("WBW")
73
73
+
.define('M', STAR_OF_LANG.get())
74
74
+
.define('W', WHITE_CONCRETE)
75
75
+
.define('B', BLACK_CONCRETE)
76
76
+
// Create an advancement that gives you the recipe
77
77
+
.unlockedBy(getHasName(STAR_OF_LANG.get()), has(STAR_OF_LANG.get()))
78
78
+
.save(output);
79
79
+
80
80
+
shaped(BUILDING_BLOCKS, ANT_ITEM.get())
81
81
+
.pattern("WBW")
82
82
+
.pattern("B B")
83
83
+
.pattern("WBW")
84
84
+
.define('W', WHITE_CONCRETE)
85
85
+
.define('B', BLACK_CONCRETE)
86
86
+
// Create an advancement that gives you the recipe
87
87
+
.unlockedBy(getHasName(STAR_OF_LANG.get()), has(STAR_OF_LANG.get()))
88
88
+
.save(output, "infinity:ant1");
89
89
+
90
90
+
shaped(MISC, COSMIC_ALTAR_ITEM.get())
91
91
+
.pattern("LAL")
92
92
+
.pattern("ASA")
93
93
+
.pattern("LAL")
94
94
+
.define('L', LODESTONE)
95
95
+
.define('A', ALTAR_ITEM.get())
96
96
+
.define('S', IRIDESCENT_STAR.get())
97
97
+
// Create an advancement that gives you the recipe
98
98
+
.unlockedBy(getHasName(IRIDESCENT_STAR.get()), has(IRIDESCENT_STAR.get()))
99
99
+
.save(output);
100
100
+
101
101
+
shaped(BUILDING_BLOCKS, CURSOR_ITEM.get(), 8)
102
102
+
.pattern("BLB")
103
103
+
.pattern("LSL")
104
104
+
.pattern("BLB")
105
105
+
.define('S', STAR_OF_LANG.get())
106
106
+
.define('L', LIME_CONCRETE)
107
107
+
.define('B', BLACK_CONCRETE)
108
108
+
// Create an advancement that gives you the recipe
109
109
+
.unlockedBy(getHasName(STAR_OF_LANG.get()), has(STAR_OF_LANG.get()))
110
110
+
.save(output);
111
111
+
112
112
+
shaped(MISC, F4.get())
113
113
+
.pattern("OOO")
114
114
+
.pattern("OSO")
115
115
+
.pattern("OOO")
116
116
+
.define('O', OBSIDIAN)
117
117
+
.define('S', IRIDESCENT_STAR.get())
118
118
+
// Create an advancement that gives you the recipe
119
119
+
.unlockedBy(getHasName(IRIDESCENT_STAR.get()), has(IRIDESCENT_STAR.get()))
120
120
+
.save(output);
121
121
+
122
122
+
shaped(MISC, FOOTPRINT.get(), 8)
123
123
+
.pattern("PPP")
124
124
+
.pattern("P P")
125
125
+
.pattern("PPP")
126
126
+
.define('P', LIGHT_GRAY_STAINED_GLASS_PANE)
127
127
+
// Create an advancement that gives you the recipe
128
128
+
.unlockedBy(getHasName(LIGHT_GRAY_STAINED_GLASS_PANE), has(LIGHT_GRAY_STAINED_GLASS_PANE))
129
129
+
.save(output);
130
130
+
131
131
+
132
132
+
shaped(MISC, HOME_ITEM.get())
133
133
+
.pattern("GGG")
134
134
+
.pattern("GSG")
135
135
+
.pattern("GGG")
136
136
+
.define('S', STAR_OF_LANG.get())
137
137
+
.define('G', GRASS_BLOCK)
138
138
+
// Create an advancement that gives you the recipe
139
139
+
.unlockedBy(getHasName(STAR_OF_LANG.get()), has(STAR_OF_LANG.get()))
140
140
+
.save(output);
141
141
+
142
142
+
shaped(BUILDING_BLOCKS, NETHERITE_SLAB_ITEM.get(), 6)
143
143
+
.pattern("###")
144
144
+
.define('#', NETHERITE_BLOCK)
145
145
+
// Create an advancement that gives you the recipe
146
146
+
.unlockedBy(getHasName(NETHERITE_BLOCK), has(NETHERITE_BLOCK))
147
147
+
.save(output);
148
148
+
149
149
+
shaped(BUILDING_BLOCKS, NETHERITE_STAIRS_ITEM.get(), 4)
150
150
+
.pattern("# ")
151
151
+
.pattern("## ")
152
152
+
.pattern("###")
153
153
+
.define('#', NETHERITE_BLOCK)
154
154
+
// Create an advancement that gives you the recipe
155
155
+
.unlockedBy(getHasName(NETHERITE_BLOCK), has(NETHERITE_BLOCK))
156
156
+
.save(output);
157
157
+
158
158
+
stonecutterResultFromBase(output, BUILDING_BLOCKS, NETHERITE_BLOCK, NETHERITE_STAIRS_ITEM.get());
159
159
+
stonecutterResultFromBase(output, BUILDING_BLOCKS, NETHERITE_BLOCK, NETHERITE_SLAB_ITEM.get(), 2);
160
160
+
161
161
+
162
162
+
shaped(MISC, BLACK_MATTER.get())
163
163
+
.pattern("BBB")
164
164
+
.pattern("B B")
165
165
+
.pattern("BBB")
166
166
+
.define('B', BLACK_CONCRETE)
167
167
+
// Create an advancement that gives you the recipe
168
168
+
.unlockedBy(getHasName(BLACK_CONCRETE), has(BLACK_CONCRETE))
169
169
+
.save(output);
170
170
+
171
171
+
shaped(MISC, WHITE_MATTER.get())
172
172
+
.pattern("BBB")
173
173
+
.pattern("B B")
174
174
+
.pattern("BBB")
175
175
+
.define('B', WHITE_CONCRETE)
176
176
+
// Create an advancement that gives you the recipe
177
177
+
.unlockedBy(getHasName(WHITE_CONCRETE), has(WHITE_CONCRETE))
178
178
+
.save(output);
179
179
+
180
180
+
shaped(BUILDING_BLOCKS, IRIDESCENT_CARPET.get(), 3)
181
181
+
.pattern("BB")
182
182
+
.define('B', IRIDESCENT_WOOL.get())
183
183
+
// Create an advancement that gives you the recipe
184
184
+
.unlockedBy(getHasName(IRIDESCENT_WOOL.get()), has(IRIDESCENT_WOOL.get()))
185
185
+
.save(output, "infinity:iridescent_carpet_from_wool");
186
186
+
187
187
+
portal(LECTERN, ALTAR_ITEM.get()).save(output);
188
188
+
portal(GLASS_BOTTLE, BIOME_BOTTLE_ITEM.get()).save(output);
189
189
+
portal(BOOKSHELF, BOOK_BOX_ITEM.get()).save(output);
190
190
+
portal(ItemTags.WOOL, CHROMATIC_WOOL).save(output, "infinity:chromatic_wool");
191
191
+
portal(F4, F4, "recipe_info.portal.infinity.attuned").save(output);
192
192
+
portal(CHROMATIC_POTION, IRIDESCENT_POTION, "").save(output, "infinity:iridescence_bottle_from_portal");
193
193
+
iridescence(CHROMATIC_WOOL, IRIDESCENT_WOOL).save(output, "infinity:iridescent_wool");
194
194
+
iridescence(CHROMATIC_CARPET, IRIDESCENT_CARPET).save(output, "infinity:iridescent_carpet");
195
195
+
iridescence(STAR_OF_LANG, IRIDESCENT_STAR).save(output, "infinity:iridescent_star");
196
196
+
portal(ItemTags.WOOL_CARPETS, CHROMATIC_CARPET, "recipe_info.portal.infinity.color").save(output);
197
197
+
portal(ModTags.MATTER, CHROMATIC_MATTER).save(output, "infinity:chromatic_matter");
198
198
+
iridescence(CHROMATIC_MATTER, CHROMATIC_MATTER, "recipe_info.iridescence.infinity.chromatic_matter").save(output);
199
199
+
portal(AMETHYST_SHARD, TRANSFINITE_KEY.get(), "recipe_info.portal.infinity.attuned").save(output, "infinity:key_from_portal");
200
200
+
iridescence(TRANSFINITE_KEY, TRANSFINITE_KEY, "recipe_info.iridescence.infinity.key").save(output, "infinity:key_from_iridescence");
201
201
+
portal(NOTE_BLOCK, NOTES_BLOCK_ITEM.get()).save(output);
202
202
+
portal(TNT, TIME_BOMB_ITEM.get()).save(output, "infinity:timebomb_from_portal");
203
203
+
color(ItemTags.WOOL, CHROMATIC_WOOL).save(output, "infinity:chromatic_coloring_wool");
204
204
+
color(ItemTags.WOOL_CARPETS, CHROMATIC_CARPET).save(output, "infinity:chromatic_coloring_carpet");
205
205
+
206
206
+
// end recipes
207
207
+
}
208
208
+
209
209
+
private RecipeBuilder color(TagKey<Item> input, Supplier<? extends Item> output) {
210
210
+
211
211
+
//? if >1.21.2 {
212
212
+
return new ChromaticColoringRecipeBuilder(tag(input), output.get());
213
213
+
//?} else {
214
214
+
/*return new ChromaticColoringRecipeBuilder(Ingredient.of(input), output.get());
215
215
+
*///?}
216
216
+
}
217
217
+
private RecipeBuilder portal(TagKey<Item> input, Supplier<? extends Item> output) {
218
218
+
//? if >1.21.2 {
219
219
+
return portal(tag(input), output.get());
220
220
+
//?} else {
221
221
+
/*return portal(Ingredient.of(input), output.get());
222
222
+
*///?}
223
223
+
}
224
224
+
225
225
+
private RecipeBuilder portal(TagKey<Item> input, Supplier<? extends Item> output, String lore) {
226
226
+
//? if >1.21.2 {
227
227
+
return collision(CollisionCraftingRecipe.Type.PORTAL, tag(input), output.get(), lore);
228
228
+
//?} else {
229
229
+
/*return collision(CollisionCraftingRecipe.Type.PORTAL, Ingredient.of(input), output.get(), lore);
230
230
+
*///?}
231
231
+
}
232
232
+
233
233
+
234
234
+
private CollisionRecipeBuilder collision(CollisionCraftingRecipe.Type type, Ingredient input, ItemLike output, String lore) {
235
235
+
return new CollisionRecipeBuilder(type, input, output, lore);
236
236
+
}
237
237
+
private CollisionRecipeBuilder collision(CollisionCraftingRecipe.Type type, ItemLike input, ItemLike output, String lore) {
238
238
+
return collision(type, Ingredient.of(input), output, lore);
239
239
+
}
240
240
+
241
241
+
private CollisionRecipeBuilder collision(CollisionCraftingRecipe.Type type, ItemLike input, ItemLike output) {
242
242
+
return collision(type, input, output, "");
243
243
+
}
244
244
+
245
245
+
private CollisionRecipeBuilder portal(ItemLike input, ItemLike output) {
246
246
+
return collision(CollisionCraftingRecipe.Type.PORTAL, input, output);
247
247
+
}
248
248
+
private CollisionRecipeBuilder portal(Ingredient input, ItemLike output) {
249
249
+
return collision(CollisionCraftingRecipe.Type.PORTAL, input, output, "");
250
250
+
}
251
251
+
252
252
+
private CollisionRecipeBuilder portal(ItemLike input, ItemLike output, String lore) {
253
253
+
return collision(CollisionCraftingRecipe.Type.PORTAL, input, output, lore);
254
254
+
}
255
255
+
256
256
+
private RecipeBuilder portal(Ingredient input, Item output, String lore) {
257
257
+
return collision(CollisionCraftingRecipe.Type.PORTAL, input, output, lore);
258
258
+
}
259
259
+
260
260
+
private CollisionRecipeBuilder iridescence(ItemLike input, ItemLike output) {
261
261
+
return collision(CollisionCraftingRecipe.Type.IRIDESCENCE, input, output);
262
262
+
}
263
263
+
264
264
+
private CollisionRecipeBuilder iridescence(ItemLike input, ItemLike output, String lore) {
265
265
+
return collision(CollisionCraftingRecipe.Type.IRIDESCENCE, input, output, lore);
266
266
+
}
267
267
+
268
268
+
private RecipeBuilder portal(Supplier<? extends Item> input, Supplier<? extends Item> output, String lore) {
269
269
+
return portal(input.get(), output.get(), lore);
270
270
+
}
271
271
+
272
272
+
private CollisionRecipeBuilder iridescence(Supplier<? extends Item> input, Supplier<? extends Item> output, String lore) {
273
273
+
return iridescence(input.get(), output.get(), lore);
274
274
+
}
275
275
+
276
276
+
private CollisionRecipeBuilder iridescence(Supplier<? extends Item> input, Supplier<? extends Item> output) {
277
277
+
return iridescence(input.get(), output.get());
278
278
+
}
279
279
+
280
280
+
//? if <1.21.6 {
281
281
+
/*private ShapedRecipeBuilder shaped(RecipeCategory recipeCategory, Item item) {
282
282
+
return ShapedRecipeBuilder.shaped(recipeCategory, item);
283
283
+
}
284
284
+
private ShapedRecipeBuilder shaped(RecipeCategory recipeCategory, Item item, int i) {
285
285
+
return ShapedRecipeBuilder.shaped(recipeCategory, item, i);
286
286
+
}
287
287
+
*///?} else {
288
288
+
private void stonecutterResultFromBase(RecipeOutput output, RecipeCategory recipeCategory, Item item1, Item item) {
289
289
+
stonecutterResultFromBase(recipeCategory, item1, item);
290
290
+
}
291
291
+
private void stonecutterResultFromBase(RecipeOutput output, RecipeCategory recipeCategory, Item item1, Item item, int i) {
292
292
+
stonecutterResultFromBase(recipeCategory, item1, item, i);
293
293
+
}
294
294
+
};
295
295
+
}
296
296
+
//?}
297
297
+
298
298
+
@Override
299
299
+
public String getName() {
300
300
+
return "infinity";
301
301
+
}
302
302
+
}
303
303
+
//?}
+76
src/main/java/net/lerariemann/infinity/data/tags/InfinityBlockTagProvider.java
···
1
1
+
package net.lerariemann.infinity.data.tags;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
7
7
+
import net.lerariemann.infinity.registry.core.ModBlocks;
8
8
+
import net.lerariemann.infinity.registry.var.ModTags;
9
9
+
import net.lerariemann.infinity.util.VersionMethods;
10
10
+
import net.minecraft.core.HolderLookup;
11
11
+
import net.minecraft.core.registries.Registries;
12
12
+
import net.minecraft.tags.BlockTags;
13
13
+
import net.minecraft.tags.TagKey;
14
14
+
import net.minecraft.world.level.block.Block;
15
15
+
16
16
+
import java.util.concurrent.CompletableFuture;
17
17
+
18
18
+
public class InfinityBlockTagProvider extends FabricTagProvider.BlockTagProvider {
19
19
+
public InfinityBlockTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
20
20
+
super(output, registriesFuture);
21
21
+
}
22
22
+
23
23
+
@Override
24
24
+
protected void addTags(HolderLookup.Provider provider) {
25
25
+
valueLookupBuilder(ModTags.IRIDESCENT_BLOCKS).add(
26
26
+
ModBlocks.IRIDESCENT_WOOL.get(),
27
27
+
ModBlocks.IRIDESCENT_CARPET.get(),
28
28
+
ModBlocks.IRIDESCENCE.get(),
29
29
+
ModBlocks.COSMIC_ALTAR.get()
30
30
+
);
31
31
+
valueLookupBuilder(BlockTags.WOOL).add(
32
32
+
ModBlocks.IRIDESCENT_WOOL.get(),
33
33
+
ModBlocks.CHROMATIC_WOOL.get()
34
34
+
);
35
35
+
valueLookupBuilder(BlockTags.WOOL_CARPETS).add(
36
36
+
ModBlocks.IRIDESCENT_CARPET.get(),
37
37
+
ModBlocks.CHROMATIC_CARPET.get()
38
38
+
);
39
39
+
valueLookupBuilder(BlockTags.MINEABLE_WITH_AXE).add(
40
40
+
ModBlocks.BOOK_BOX.get()
41
41
+
);
42
42
+
valueLookupBuilder(BlockTags.MINEABLE_WITH_PICKAXE).add(
43
43
+
ModBlocks.ALTAR.get(),
44
44
+
ModBlocks.CURSOR.get(),
45
45
+
ModBlocks.NETHERITE_SLAB.get(),
46
46
+
ModBlocks.NETHERITE_STAIRS.get(),
47
47
+
ModBlocks.BIOME_BOTTLE.get(),
48
48
+
ModBlocks.ANT.get(),
49
49
+
ModBlocks.COSMIC_ALTAR.get()
50
50
+
);
51
51
+
valueLookupBuilder(BlockTags.PORTALS).add(
52
52
+
ModBlocks.PORTAL.get()
53
53
+
);
54
54
+
valueLookupBuilder(BlockTags.SLABS).add(
55
55
+
ModBlocks.NETHERITE_SLAB.get()
56
56
+
);
57
57
+
valueLookupBuilder(BlockTags.STAIRS).add(
58
58
+
ModBlocks.NETHERITE_STAIRS.get()
59
59
+
);
60
60
+
}
61
61
+
62
62
+
//? <1.21.2 {
63
63
+
/*private FabricTagProvider<Block>.FabricTagBuilder valueLookupBuilder(TagKey<Block> buckets) {
64
64
+
return getOrCreateTagBuilder(buckets);
65
65
+
}
66
66
+
*///?}
67
67
+
68
68
+
private TagKey<Block> convention(String id) {
69
69
+
return TagKey.create(Registries.BLOCK, VersionMethods.id("c", id));
70
70
+
}
71
71
+
72
72
+
private TagKey<Block> infinity(String id) {
73
73
+
return TagKey.create(Registries.BLOCK, VersionMethods.id("infinity", id));
74
74
+
}
75
75
+
}
76
76
+
//?}
+51
src/main/java/net/lerariemann/infinity/data/tags/InfinityEntityTagProvider.java
···
1
1
+
package net.lerariemann.infinity.data.tags;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
7
7
+
import net.lerariemann.infinity.registry.core.ModEntities;
8
8
+
import net.lerariemann.infinity.util.VersionMethods;
9
9
+
import net.minecraft.core.HolderLookup;
10
10
+
import net.minecraft.core.registries.Registries;
11
11
+
import net.minecraft.tags.EntityTypeTags;
12
12
+
import net.minecraft.tags.TagKey;
13
13
+
import net.minecraft.world.entity.EntityType;
14
14
+
15
15
+
import java.util.concurrent.CompletableFuture;
16
16
+
17
17
+
public class InfinityEntityTagProvider extends FabricTagProvider.EntityTypeTagProvider {
18
18
+
public InfinityEntityTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
19
19
+
super(output, registriesFuture);
20
20
+
}
21
21
+
22
22
+
@Override
23
23
+
protected void addTags(HolderLookup.Provider provider) {
24
24
+
//? if >1.21 {
25
25
+
valueLookupBuilder(EntityTypeTags.ARTHROPOD).add(
26
26
+
ModEntities.ANT.get()
27
27
+
);
28
28
+
//?}
29
29
+
valueLookupBuilder(EntityTypeTags.SKELETONS).add(
30
30
+
ModEntities.CHAOS_SKELETON.get()
31
31
+
);
32
32
+
valueLookupBuilder(EntityTypeTags.FROG_FOOD).add(
33
33
+
ModEntities.CHAOS_SLIME.get()
34
34
+
);
35
35
+
}
36
36
+
37
37
+
//? <1.21.2 {
38
38
+
/*private FabricTagProvider<EntityType<?>>.FabricTagBuilder valueLookupBuilder(TagKey<EntityType<?>> buckets) {
39
39
+
return getOrCreateTagBuilder(buckets);
40
40
+
}
41
41
+
*///?}
42
42
+
43
43
+
private TagKey<EntityType<?>> convention(String id) {
44
44
+
return TagKey.create(Registries.ENTITY_TYPE, VersionMethods.id("c", id));
45
45
+
}
46
46
+
47
47
+
private TagKey<EntityType<?>> infinity(String id) {
48
48
+
return TagKey.create(Registries.ENTITY_TYPE, VersionMethods.id("infinity", id));
49
49
+
}
50
50
+
}
51
51
+
//?}
+44
src/main/java/net/lerariemann/infinity/data/tags/InfinityFluidTagProvider.java
···
1
1
+
package net.lerariemann.infinity.data.tags;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
7
7
+
import net.lerariemann.infinity.util.VersionMethods;
8
8
+
import net.lerariemann.infinity.util.platform.fabric.ModFluidsFabric;
9
9
+
import net.minecraft.core.HolderLookup;
10
10
+
import net.minecraft.core.registries.Registries;
11
11
+
import net.minecraft.tags.FluidTags;
12
12
+
import net.minecraft.tags.TagKey;
13
13
+
import net.minecraft.world.level.material.Fluid;
14
14
+
15
15
+
import java.util.concurrent.CompletableFuture;
16
16
+
17
17
+
public class InfinityFluidTagProvider extends FabricTagProvider.FluidTagProvider {
18
18
+
public InfinityFluidTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
19
19
+
super(output, registriesFuture);
20
20
+
}
21
21
+
22
22
+
@Override
23
23
+
protected void addTags(HolderLookup.Provider provider) {
24
24
+
valueLookupBuilder(FluidTags.WATER).add(
25
25
+
ModFluidsFabric.IRIDESCENCE_FLOWING.get(),
26
26
+
ModFluidsFabric.IRIDESCENCE_STILL.get()
27
27
+
);
28
28
+
}
29
29
+
30
30
+
//? <1.21.2 {
31
31
+
/*private FabricTagProvider<Fluid>.FabricTagBuilder valueLookupBuilder(TagKey<Fluid> buckets) {
32
32
+
return getOrCreateTagBuilder(buckets);
33
33
+
}
34
34
+
*///?}
35
35
+
36
36
+
private TagKey<Fluid> convention(String id) {
37
37
+
return TagKey.create(Registries.FLUID, VersionMethods.id("c", id));
38
38
+
}
39
39
+
40
40
+
private TagKey<Fluid> infinity(String id) {
41
41
+
return TagKey.create(Registries.FLUID, VersionMethods.id("infinity", id));
42
42
+
}
43
43
+
}
44
44
+
//?}
+63
src/main/java/net/lerariemann/infinity/data/tags/InfinityItemTagProvider.java
···
1
1
+
package net.lerariemann.infinity.data.tags;
2
2
+
3
3
+
//? fabric {
4
4
+
5
5
+
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
6
6
+
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
7
7
+
import net.lerariemann.infinity.registry.core.ModItems;
8
8
+
import net.lerariemann.infinity.registry.var.ModTags;
9
9
+
import net.lerariemann.infinity.util.VersionMethods;
10
10
+
import net.minecraft.core.HolderLookup;
11
11
+
import net.minecraft.core.registries.Registries;
12
12
+
import net.minecraft.tags.ItemTags;import net.minecraft.tags.TagKey;
13
13
+
import net.minecraft.world.item.Item;
14
14
+
15
15
+
import java.util.concurrent.CompletableFuture;
16
16
+
17
17
+
public class InfinityItemTagProvider extends FabricTagProvider.ItemTagProvider {
18
18
+
public InfinityItemTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
19
19
+
super(output, registriesFuture);
20
20
+
}
21
21
+
22
22
+
@Override
23
23
+
protected void addTags(HolderLookup.Provider provider) {
24
24
+
valueLookupBuilder(convention("buckets")).add(ModItems.IRIDESCENCE_BUCKET.get());
25
25
+
valueLookupBuilder(ModTags.IRIDESCENT_ITEMS).add(
26
26
+
ModItems.IRIDESCENT_WOOL.get(),
27
27
+
ModItems.IRIDESCENT_CARPET.get(),
28
28
+
ModItems.IRIDESCENCE_BUCKET.get(),
29
29
+
ModItems.IRIDESCENT_STAR.get(),
30
30
+
ModItems.IRIDESCENT_POTION.get(),
31
31
+
ModItems.CHROMATIC_POTION.get(),
32
32
+
ModItems.COSMIC_ALTAR_ITEM.get()
33
33
+
);
34
34
+
valueLookupBuilder(ModTags.MATTER).add(
35
35
+
ModItems.BLACK_MATTER.get(),
36
36
+
ModItems.CHROMATIC_MATTER.get(),
37
37
+
ModItems.WHITE_MATTER.get()
38
38
+
);
39
39
+
valueLookupBuilder(ItemTags.WOOL).add(
40
40
+
ModItems.IRIDESCENT_WOOL.get(),
41
41
+
ModItems.CHROMATIC_WOOL.get()
42
42
+
);
43
43
+
valueLookupBuilder(ItemTags.WOOL_CARPETS).add(
44
44
+
ModItems.IRIDESCENT_CARPET.get(),
45
45
+
ModItems.CHROMATIC_CARPET.get()
46
46
+
);
47
47
+
}
48
48
+
49
49
+
//? <1.21.2 {
50
50
+
/*private FabricTagProvider<Item>.FabricTagBuilder valueLookupBuilder(TagKey<Item> buckets) {
51
51
+
return getOrCreateTagBuilder(buckets);
52
52
+
}
53
53
+
*///?}
54
54
+
55
55
+
private TagKey<Item> convention(String id) {
56
56
+
return TagKey.create(Registries.ITEM, VersionMethods.id("c", id));
57
57
+
}
58
58
+
59
59
+
private TagKey<Item> infinity(String id) {
60
60
+
return TagKey.create(Registries.ITEM, VersionMethods.id("infinity", id));
61
61
+
}
62
62
+
}
63
63
+
//?}
+6
-6
src/main/java/net/lerariemann/infinity/entity/client/DimensionalSlimeCoreRenderer.java
···
18
18
import net.minecraft.core.BlockPos;
19
19
import net.minecraft.world.level.block.state.BlockState;
20
20
//? if >1.21.6 && neoforge {
21
21
-
import net.neoforged.neoforge.client.RenderTypeHelper;
22
22
-
//?}
21
21
+
/*import net.neoforged.neoforge.client.RenderTypeHelper;
22
22
+
*///?}
23
23
24
24
public class DimensionalSlimeCoreRenderer extends
25
25
···
100
100
*///?} else if >1.21.6 {
101
101
ModelBlockRenderer.renderModel(matrices.last(), vertexConsumers.getBuffer(
102
102
//? if neoforge {
103
103
-
RenderTypeHelper.getMovingBlockRenderType(ItemBlockRenderTypes.getChunkRenderType(coreState))),
104
104
-
//?} else {
105
105
-
/*ItemBlockRenderTypes.getMovingBlockRenderType(coreState)),
106
106
-
*///?}
103
103
+
/*RenderTypeHelper.getMovingBlockRenderType(ItemBlockRenderTypes.getChunkRenderType(coreState))),
104
104
+
*///?} else {
105
105
+
ItemBlockRenderTypes.getMovingBlockRenderType(coreState)),
106
106
+
//?}
107
107
coreModel,1.0f, 1.0f, 1.0f, light, overlay);
108
108
//?} else {
109
109
/*this.blockRenderManager.getModelRenderer().renderModel(matrices.last(), vertexConsumers.getBuffer(ItemBlockRenderTypes.getChunkRenderType(coreState)), coreState, coreModel, 1.0f, 1.0f, 1.0f, light, overlay);
+4
-4
src/main/java/net/lerariemann/infinity/entity/custom/ChaosCreeper.java
···
54
54
import org.jetbrains.annotations.Nullable;
55
55
56
56
//? if neoforge {
57
57
-
import javax.annotation.ParametersAreNonnullByDefault;
57
57
+
/*import javax.annotation.ParametersAreNonnullByDefault;
58
58
59
59
60
60
-
//?}
60
60
+
*///?}
61
61
62
62
@MethodsReturnNonnullByDefault
63
63
//? if neoforge {
64
64
-
@ParametersAreNonnullByDefault
65
65
-
//?}
64
64
+
/*@ParametersAreNonnullByDefault
65
65
+
*///?}
66
66
public class ChaosCreeper extends Creeper implements TintableEntity {
67
67
public static EntityDataAccessor<Integer> color = SynchedEntityData.defineId(ChaosCreeper.class, EntityDataSerializers.INT);
68
68
public static EntityDataAccessor<Float> range = SynchedEntityData.defineId(ChaosCreeper.class, EntityDataSerializers.FLOAT);
+4
-4
src/main/java/net/lerariemann/infinity/entity/custom/ChaosPawn.java
···
44
44
import org.jetbrains.annotations.Nullable;
45
45
46
46
//? if neoforge {
47
47
-
import javax.annotation.ParametersAreNonnullByDefault;
48
48
-
//?}
47
47
+
/*import javax.annotation.ParametersAreNonnullByDefault;
48
48
+
*///?}
49
49
import java.util.*;
50
50
import java.util.function.Supplier;
51
51
52
52
//? if neoforge {
53
53
-
@MethodsReturnNonnullByDefault
53
53
+
/*@MethodsReturnNonnullByDefault
54
54
@ParametersAreNonnullByDefault
55
55
-
//?}
55
55
+
*///?}
56
56
public class ChaosPawn extends AbstractChessFigure {
57
57
58
58
public static final EntityDataAccessor<CompoundTag> colors = SynchedEntityData.defineId(ChaosPawn.class, EntityDataSerializers.COMPOUND_TAG);
+4
-4
src/main/java/net/lerariemann/infinity/entity/custom/ChaosSkeleton.java
···
51
51
import org.jetbrains.annotations.Nullable;
52
52
53
53
//? if neoforge {
54
54
-
import javax.annotation.ParametersAreNonnullByDefault;
55
55
-
//?}
54
54
+
/*import javax.annotation.ParametersAreNonnullByDefault;
55
55
+
*///?}
56
56
import java.util.*;
57
57
58
58
59
59
60
60
@MethodsReturnNonnullByDefault
61
61
//? if neoforge {
62
62
-
@ParametersAreNonnullByDefault
63
63
-
//?}
62
62
+
/*@ParametersAreNonnullByDefault
63
63
+
*///?}
64
64
public class ChaosSkeleton extends Skeleton implements TintableEntity {
65
65
private static final EntityDataAccessor<String> effect = SynchedEntityData.defineId(ChaosSkeleton.class, EntityDataSerializers.STRING);
66
66
private static final EntityDataAccessor<Integer> color = SynchedEntityData.defineId(ChaosSkeleton.class, EntityDataSerializers.INT);
+4
-4
src/main/java/net/lerariemann/infinity/entity/custom/ChaosSlime.java
···
46
46
import org.jetbrains.annotations.Nullable;
47
47
48
48
//? if neoforge {
49
49
-
import javax.annotation.ParametersAreNonnullByDefault;
50
50
-
//?}
49
49
+
/*import javax.annotation.ParametersAreNonnullByDefault;
50
50
+
*///?}
51
51
import java.util.Optional;
52
52
import java.util.Random;
53
53
import java.util.function.BiConsumer;
···
55
55
56
56
@MethodsReturnNonnullByDefault
57
57
//? if neoforge {
58
58
-
@ParametersAreNonnullByDefault
59
59
-
//?}
58
58
+
/*@ParametersAreNonnullByDefault
59
59
+
*///?}
60
60
public class ChaosSlime extends Slime implements TintableEntity {
61
61
public static final EntityDataAccessor<BlockState> core = SynchedEntityData.defineId(ChaosSlime.class, EntityDataSerializers.BLOCK_STATE);
62
62
public static final EntityDataAccessor<Integer> color = SynchedEntityData.defineId(ChaosSlime.class, EntityDataSerializers.INT);
+6
-6
src/main/java/net/lerariemann/infinity/iridescence/Iridescence.java
···
46
46
import net.minecraft.world.phys.Vec3;
47
47
import org.jetbrains.annotations.Nullable;
48
48
//? neoforge {
49
49
-
import net.neoforged.neoforge.event.EventHooks;
50
50
-
//?}
49
49
+
/*import net.neoforged.neoforge.event.EventHooks;
50
50
+
*///?}
51
51
52
52
import java.nio.file.Files;
53
53
import java.nio.file.Path;
···
331
331
else if (currEntity.level() instanceof ServerLevel w)
332
332
333
333
//? fabric || forge {
334
334
-
/*newEntity.finalizeSpawn(
335
335
-
*///?}
334
334
+
newEntity.finalizeSpawn(
335
335
+
//?}
336
336
//? neoforge {
337
337
-
EventHooks.finalizeMobSpawn(newEntity,
338
338
-
//?}
337
337
+
/*EventHooks.finalizeMobSpawn(newEntity,
338
338
+
*///?}
339
339
w, w.getCurrentDifficultyAt(currEntity.blockPosition()), CONVERSION, null
340
340
//? if <1.21 {
341
341
/*, null
+4
-4
src/main/java/net/lerariemann/infinity/item/F4Item.java
···
37
37
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
38
38
import org.jetbrains.annotations.Nullable;
39
39
//? if neoforge {
40
40
-
import javax.annotation.ParametersAreNonnullByDefault;
41
41
-
//?}
40
40
+
/*import javax.annotation.ParametersAreNonnullByDefault;
41
41
+
*///?}
42
42
import java.util.*;
43
43
import java.util.function.Consumer;
44
44
45
45
//? if neoforge {
46
46
-
@ParametersAreNonnullByDefault
47
47
-
//?}
46
46
+
/*@ParametersAreNonnullByDefault
47
47
+
*///?}
48
48
@MethodsReturnNonnullByDefault
49
49
public class F4Item extends Item implements PortalDataHolder.Destinable {
50
50
static final BlockState OBSIDIAN = Blocks.OBSIDIAN.defaultBlockState();
+4
-4
src/main/java/net/lerariemann/infinity/item/StarOfLangItem.java
···
11
11
}
12
12
13
13
//? if >1.21.2 && neoforge {
14
14
-
@Override
14
14
+
/*@Override
15
15
public ItemStack getCraftingRemainder(ItemStack itemStack) {
16
16
return new ItemStack(ModItems.STAR_OF_LANG.get());
17
17
}
18
18
-
//?}
18
18
+
*///?}
19
19
20
20
//? if neoforge && <1.21.2 {
21
21
/*@Override
···
30
30
*///?}
31
31
32
32
//? if fabric {
33
33
-
/*@Override
33
33
+
@Override
34
34
public ItemStack getRecipeRemainder(ItemStack stack) {
35
35
return ModItems.STAR_OF_LANG.get().getDefaultInstance();
36
36
}
37
37
-
*///?}
37
37
+
//?}
38
38
39
39
40
40
}
+4
-4
src/main/java/net/lerariemann/infinity/item/TransfiniteKeyItem.java
···
30
30
import org.jetbrains.annotations.NotNull;
31
31
32
32
//? if neoforge {
33
33
-
import javax.annotation.ParametersAreNonnullByDefault;
34
34
-
//?}
33
33
+
/*import javax.annotation.ParametersAreNonnullByDefault;
34
34
+
*///?}
35
35
import java.util.List;
36
36
import java.util.Objects;
37
37
import java.util.Optional;
38
38
import java.util.function.Consumer;
39
39
40
40
//? if neoforge {
41
41
-
@ParametersAreNonnullByDefault
42
42
-
//?}
41
41
+
/*@ParametersAreNonnullByDefault
42
42
+
*///?}
43
43
public class TransfiniteKeyItem extends Item implements PortalDataHolder.Destinable {
44
44
public TransfiniteKeyItem(Properties settings) {
45
45
super(settings);
+3
-3
src/main/java/net/lerariemann/infinity/item/function/CollisionCraftingRecipe.java
···
27
27
*///?}
28
28
import net.minecraft.world.level.Level;
29
29
30
30
-
public abstract class CollisionCraftingRecipe implements Recipe
30
30
+
public abstract class CollisionCraftingRecipe
31
31
//? if >1.21 {
32
32
-
<SingleRecipeInput>
32
32
+
implements Recipe<SingleRecipeInput>
33
33
//?} else {
34
34
-
/*<ContainerSingleItem>
34
34
+
/*implements Recipe<ContainerSingleItem>
35
35
*///?}
36
36
{
37
37
//? if =1.20.1 {
+4
-4
src/main/java/net/lerariemann/infinity/mixin/InfinityMixinPlugin.java
···
1
1
package net.lerariemann.infinity.mixin;
2
2
3
3
//? if fabric {
4
4
-
/*import net.fabricmc.loader.api.FabricLoader;
5
5
-
*///?}
4
4
+
import net.fabricmc.loader.api.FabricLoader;
5
5
+
//?}
6
6
import org.objectweb.asm.tree.ClassNode;
7
7
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
8
8
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
···
23
23
@Override
24
24
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
25
25
//? if fabric {
26
26
-
/*if (mixinClassName.contains("net.lerariemann.infinity.mixin.mavity") && (FabricLoader.getInstance().isModLoaded("gravity_changer_q") || FabricLoader.getInstance().isModLoaded("gravity_changer"))){
26
26
+
if (mixinClassName.contains("net.lerariemann.infinity.mixin.mavity") && (FabricLoader.getInstance().isModLoaded("gravity_changer_q") || FabricLoader.getInstance().isModLoaded("gravity_changer"))){
27
27
return false;
28
28
}
29
29
-
*///?}
29
29
+
//?}
30
30
return true;
31
31
}
32
32
+4
-4
src/main/java/net/lerariemann/infinity/mixin/iridescence/PostPassMixin.java
···
55
55
*///?}
56
56
57
57
//? neoforge && >1.21.2 {
58
58
-
@Inject(method = "lambda$addToFrame$5", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderPass;setVertexBuffer(ILcom/mojang/blaze3d/buffers/GpuBuffer;)V"))
58
58
+
/*@Inject(method = "lambda$addToFrame$5", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderPass;setVertexBuffer(ILcom/mojang/blaze3d/buffers/GpuBuffer;)V"))
59
59
private void inj(ResourceHandle resourcehandle, GpuBufferSlice projectionMatrixBuffer, Map targets, CallbackInfo ci, @Local RenderPass renderPass) {
60
60
if (infinity$is) IridescentUniform.trySet(renderPass);
61
61
}
62
62
-
//?} else fabric && >1.21.2 {
63
63
-
/*@Inject(method = "method_67884", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderPass;setVertexBuffer(ILcom/mojang/blaze3d/buffers/GpuBuffer;)V"))
62
62
+
*///?} else fabric && >1.21.2 {
63
63
+
@Inject(method = "method_67884", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderPass;setVertexBuffer(ILcom/mojang/blaze3d/buffers/GpuBuffer;)V"))
64
64
private void inj(ResourceHandle resourcehandle, GpuBufferSlice projectionMatrixBuffer, Map targets, CallbackInfo ci, @Local RenderPass renderPass) {
65
65
if (infinity$is) IridescentUniform.trySet(renderPass);
66
66
}
67
67
-
*///?}
67
67
+
//?}
68
68
}
+4
-4
src/main/java/net/lerariemann/infinity/mixin/mobs/SlimeEntityMixin.java
···
14
14
public class SlimeEntityMixin {
15
15
/* Allows chaos slimes to correctly inherit their additional data when split. */
16
16
//? if >1.21.2 && fabric {
17
17
-
/*@Inject(method = "method_63653", at = @At(value = "RETURN"))
17
17
+
@Inject(method = "method_63653", at = @At(value = "RETURN"))
18
18
private void chaosSlimesSplit(int i, float f, float g, Slime instance, CallbackInfo ci) {
19
19
Slime e = ((Slime)(Object)(this));
20
20
if (e instanceof ChaosSlime slime_mom) {
···
23
23
slime_son.setColor(slime_mom.getEntityData().get(color));
24
24
}
25
25
}
26
26
-
*///?} else if >1.21.2 {
27
27
-
@Inject(method = "lambda$remove$1", at = @At(value = "RETURN"))
26
26
+
//?} else if >1.21.2 {
27
27
+
/*@Inject(method = "lambda$remove$1", at = @At(value = "RETURN"))
28
28
private void chaosSlimesSplit(int i, float f, float g, Slime instance, CallbackInfo ci) {
29
29
Slime e = ((Slime)(Object)(this));
30
30
if (e instanceof ChaosSlime slime_mom) {
···
33
33
slime_son.setColor(slime_mom.getEntityData().get(color));
34
34
}
35
35
}
36
36
-
//?} else {
36
36
+
*///?} else {
37
37
/*@Redirect(method = "remove(Lnet/minecraft/world/entity/Entity$RemovalReason;)V", at = @At(value = "INVOKE",
38
38
target = "Lnet/minecraft/world/entity/monster/Slime;setNoAi(Z)V"))
39
39
private void chaosSlimesSplit(Slime instance, boolean b) {
+12
-12
src/main/java/net/lerariemann/infinity/mixin/options/WorldRendererMixin.java
···
28
28
import net.minecraft.client.Minecraft;
29
29
import net.minecraft.client.multiplayer.ClientLevel;
30
30
//? if >1.21.2 && neoforge {
31
31
-
import net.neoforged.neoforge.client.IRenderableSection;
31
31
+
/*import net.neoforged.neoforge.client.IRenderableSection;
32
32
import net.neoforged.neoforge.client.event.RenderLevelStageEvent;
33
33
import net.neoforged.neoforge.common.NeoForge;
34
34
-
//?}
34
34
+
*///?}
35
35
import net.minecraft.client.renderer.LevelRenderer;
36
36
import org.joml.Matrix4f;
37
37
import org.spongepowered.asm.mixin.Final;
···
132
132
@Shadow @Final private RenderBuffers renderBuffers;
133
133
//?}
134
134
//? if >1.21.2 && neoforge {
135
135
-
@Shadow public abstract Frustum getFrustum();
135
135
+
/*@Shadow public abstract Frustum getFrustum();
136
136
@Shadow public abstract Iterable<? extends IRenderableSection> getRenderableSections();
137
137
-
//?}
137
137
+
*///?}
138
138
//? if >1.21.2 {
139
139
@Unique SkyRenderer infinity$sky;
140
140
@Inject(method = "<init>", at = @At("TAIL"))
···
143
143
}
144
144
//?}
145
145
//? if >1.21.2 && neoforge {
146
146
-
@Inject(method = "addSkyPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/Camera;FLcom/mojang/blaze3d/buffers/GpuBufferSlice;Lorg/joml/Matrix4f;)V", at = @At("HEAD"), cancellable = true)
146
146
+
/*@Inject(method = "addSkyPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/Camera;FLcom/mojang/blaze3d/buffers/GpuBufferSlice;Lorg/joml/Matrix4f;)V", at = @At("HEAD"), cancellable = true)
147
147
void inj(FrameGraphBuilder frameGraphBuilder, Camera camera, float partialTick, GpuBufferSlice shaderFog, Matrix4f modelViewMatrix, CallbackInfo ci) {
148
148
-
//?}
148
148
+
*///?}
149
149
//? if >1.21.2 && fabric {
150
150
-
/*@Inject(method = "Lnet/minecraft/client/renderer/LevelRenderer;addSkyPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/Camera;FLcom/mojang/blaze3d/buffers/GpuBufferSlice;)V", at = @At("HEAD"), cancellable = true)
150
150
+
@Inject(method = "Lnet/minecraft/client/renderer/LevelRenderer;addSkyPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/Camera;FLcom/mojang/blaze3d/buffers/GpuBufferSlice;)V", at = @At("HEAD"), cancellable = true)
151
151
void inj(FrameGraphBuilder frameGraphBuilder, Camera camera, float partialTick, GpuBufferSlice shaderFog, CallbackInfo ci) {
152
152
-
*///?}
152
152
+
//?}
153
153
//? if >1.21.2 {
154
154
155
155
InfinityOptions options = infinity$options();
···
167
167
//?}
168
168
//? if >1.21.2 && neoforge {
169
169
170
170
-
if (!this.level.effects().renderSky(this.level, ticks, partialTick, modelViewMatrix, camera,
170
170
+
/*if (!this.level.effects().renderSky(this.level, ticks, partialTick, modelViewMatrix, camera,
171
171
() -> RenderSystem.setShaderFog(shaderFog))) {
172
172
-
//?}
172
172
+
*///?}
173
173
//? if >1.21.2 {
174
174
175
175
RenderSystem.setShaderFog(shaderFog);
···
177
177
//?}
178
178
//? if >1.21.2 && neoforge {
179
179
180
180
-
Profiler.get().push("neoforge_render_after_sky");
180
180
+
/*Profiler.get().push("neoforge_render_after_sky");
181
181
NeoForge.EVENT_BUS.post(new RenderLevelStageEvent.AfterSky(this.level, (LevelRenderer)(Object)this, (PoseStack)null, modelViewMatrix, this.ticks, this.minecraft.getDeltaTracker(), camera, this.getFrustum(), this.getRenderableSections()));
182
182
Profiler.get().pop();
183
183
}
184
184
-
//?}
184
184
+
*///?}
185
185
//? if >1.21.2 {
186
186
187
187
});
+19
-19
src/main/java/net/lerariemann/infinity/registry/core/ModBlockEntities.java
···
4
4
import dev.architectury.registry.registries.DeferredRegister;
5
5
import dev.architectury.registry.registries.RegistrySupplier;
6
6
//? if fabric && >1.21.2 {
7
7
-
/*import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityType;
7
7
+
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityType;
8
8
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
9
9
-
*///?}
9
9
+
//?}
10
10
import net.lerariemann.infinity.InfinityMod;
11
11
import net.lerariemann.infinity.block.custom.RailHelper;
12
12
import net.lerariemann.infinity.block.entity.*;
···
31
31
create(InfinityPortalBlockEntity::new,
32
32
ModBlocks.PORTAL.get())
33
33
//? if fabric || <1.21.2
34
34
-
/*.build(type("neither_portal"))*/
34
34
+
.build(type("neither_portal"))
35
35
);
36
36
public static final RegistrySupplier<BlockEntityType<CosmicAltarBlockEntity>> COSMIC_ALTAR =
37
37
BLOCK_ENTITY_TYPES.register("cosmic_altar", () ->
38
38
create(CosmicAltarBlockEntity::new,
39
39
ModBlocks.COSMIC_ALTAR.get())
40
40
//? if fabric || <1.21.2
41
41
-
/*.build(type("cosmic_altar"))*/
41
41
+
.build(type("cosmic_altar"))
42
42
);
43
43
public static final RegistrySupplier<BlockEntityType<BiomeBottleBlockEntity>> BIOME_BOTTLE =
44
44
BLOCK_ENTITY_TYPES.register("biome_bottle", () ->
45
45
create(BiomeBottleBlockEntity::new,
46
46
ModBlocks.BIOME_BOTTLE.get())
47
47
//? if fabric || <1.21.2
48
48
-
/*.build(type("biome_bottle"))*/
48
48
+
.build(type("biome_bottle"))
49
49
);
50
50
public static final RegistrySupplier<BlockEntityType<ChromaticBlockEntity>> CHROMATIC =
51
51
BLOCK_ENTITY_TYPES.register("chromatic", () ->
···
53
53
ModBlocks.CHROMATIC_WOOL.get(),
54
54
ModBlocks.CHROMATIC_CARPET.get())
55
55
//? if fabric || <1.21.2
56
56
-
/*.build(type("chromatic"))*/
56
56
+
.build(type("chromatic"))
57
57
);
58
58
public static final RegistrySupplier<BlockEntityType<RailHelper.RHBEntity>> RAIL_HELPER =
59
59
BLOCK_ENTITY_TYPES.register("rail_helper_block_entity", () ->
60
60
create(RailHelper.RHBEntity::new,
61
61
ModBlocks.RAIL_HELPER.get())
62
62
//? if fabric || <1.21.2
63
63
-
/*.build(type("rail_helper_block_entity"))*/
63
63
+
.build(type("rail_helper_block_entity"))
64
64
);
65
65
66
66
public static <T extends BlockEntity>
67
67
//? if >1.21.2 && fabric {
68
68
-
/*FabricBlockEntityTypeBuilder
69
69
-
*///?} else if >1.21.2 {
70
70
-
BlockEntityType
71
71
-
//?} else {
68
68
+
FabricBlockEntityTypeBuilder
69
69
+
//?} else if >1.21.2 {
70
70
+
/*BlockEntityType
71
71
+
*///?} else {
72
72
/*BlockEntityType.Builder
73
73
*///?}
74
74
<T>
75
75
create(
76
76
//? if >1.21.2 && fabric {
77
77
-
/*FabricBlockEntityTypeBuilder.Factory
78
78
-
*///?} else if >1.21.2 {
79
79
-
BlockEntityType.BlockEntitySupplier
80
80
-
//?} else {
77
77
+
FabricBlockEntityTypeBuilder.Factory
78
78
+
//?} else if >1.21.2 {
79
79
+
/*BlockEntityType.BlockEntitySupplier
80
80
+
*///?} else {
81
81
/*BlockEntityType.BlockEntitySupplier
82
82
*///?}
83
83
<? extends T> factory, Block... blocks) {
84
84
//? if >1.21.2 && fabric {
85
85
-
/*return FabricBlockEntityTypeBuilder.create(factory, blocks);
86
86
-
*///?} else if >1.21.2 {
87
87
-
return new BlockEntityType<>(factory, blocks);
88
88
-
//?} else {
85
85
+
return FabricBlockEntityTypeBuilder.create(factory, blocks);
86
86
+
//?} else if >1.21.2 {
87
87
+
/*return new BlockEntityType<>(factory, blocks);
88
88
+
*///?} else {
89
89
/*return BlockEntityType.Builder.of(factory, blocks);
90
90
*///?}
91
91
}
+16
-16
src/main/java/net/lerariemann/infinity/registry/core/ModEntities.java
···
33
33
import static net.minecraftforge.event.entity.SpawnPlacementRegisterEvent.Operation.REPLACE;
34
34
*///?}
35
35
//? if neoforge {
36
36
-
import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent;
36
36
+
/*import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent;
37
37
import static net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent.Operation.REPLACE;
38
38
-
//?}
38
38
+
*///?}
39
39
40
40
import java.util.Optional;
41
41
···
142
142
*///?}
143
143
location, Heightmap.Types heightmapType, SpawnPlacements.SpawnPredicate<T> predicate,
144
144
//? if neoforge {
145
145
-
RegisterSpawnPlacementsEvent event
146
146
-
//?} else if forge {
145
145
+
/*RegisterSpawnPlacementsEvent event
146
146
+
*///?} else if forge {
147
147
/*SpawnPlacementRegisterEvent event
148
148
*///?} else {
149
149
-
/*Object event
150
150
-
*///?}
149
149
+
Object event
150
150
+
//?}
151
151
) {
152
152
//? if fabric {
153
153
-
/*if (!SpawnPlacements.DATA_BY_TYPE.containsKey(type))
153
153
+
if (!SpawnPlacements.DATA_BY_TYPE.containsKey(type))
154
154
SpawnPlacements.register(type, location, heightmapType, predicate);
155
155
-
*///?} else {
156
156
-
event.register(type, location, heightmapType, predicate, REPLACE);
157
157
-
//?}
155
155
+
//?} else {
156
156
+
/*event.register(type, location, heightmapType, predicate, REPLACE);
157
157
+
*///?}
158
158
}
159
159
160
160
public static void registerSpawnRestrictions(
161
161
//? if neoforge {
162
162
-
RegisterSpawnPlacementsEvent event
163
163
-
//?} else if forge {
162
162
+
/*RegisterSpawnPlacementsEvent event
163
163
+
*///?} else if forge {
164
164
/*SpawnPlacementRegisterEvent event
165
165
*///?}
166
166
) {
167
167
//? if fabric {
168
168
-
/*Object event = null;
168
168
+
Object event = null;
169
169
SpawnPlacements.register(CHAOS_SLIME.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ChaosSlime::canSpawn);
170
170
SpawnPlacements.register(CHAOS_SKELETON.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChaosMonsterSpawn);
171
171
SpawnPlacements.register(CHAOS_CREEPER.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChaosMonsterSpawn);
172
172
SpawnPlacements.register(CHAOS_PAWN.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChessFigureSpawn);
173
173
SpawnPlacements.register(ANT.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChessFigureSpawn);
174
174
SpawnPlacements.register(BISHOP.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChessFigureSpawn);
175
175
-
*///?} else {
176
176
-
event.register(CHAOS_SLIME.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ChaosSlime::canSpawn, REPLACE);
175
175
+
//?} else {
176
176
+
/*event.register(CHAOS_SLIME.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ChaosSlime::canSpawn, REPLACE);
177
177
event.register(CHAOS_SKELETON.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChaosMonsterSpawn, REPLACE);
178
178
event.register(CHAOS_CREEPER.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChaosMonsterSpawn, REPLACE);
179
179
event.register(CHAOS_PAWN.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChessFigureSpawn, REPLACE);
180
180
event.register(ANT.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChessFigureSpawn, REPLACE);
181
181
event.register(BISHOP.get(), ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ModEntities::canChessFigureSpawn, REPLACE);
182
182
-
//?}
182
182
+
*///?}
183
183
184
184
registerSafe(EntityType.SNIFFER, ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, event);
185
185
registerSafe(EntityType.CAMEL, ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, event);
+2
-2
src/main/java/net/lerariemann/infinity/registry/core/ModStatusEffects.java
···
31
31
32
32
public static void registerModEffectsFabric() {
33
33
//? if fabric {
34
34
-
/*IRIDESCENT_EFFECT = (Registry.registerForHolder(BuiltInRegistries.MOB_EFFECT, InfinityMethods.getId("iridescence"),
34
34
+
IRIDESCENT_EFFECT = (Registry.registerForHolder(BuiltInRegistries.MOB_EFFECT, InfinityMethods.getId("iridescence"),
35
35
new IridescentEffect(MobEffectCategory.NEUTRAL, 0xFF66FF)));
36
36
IRIDESCENT_SETUP = (Registry.registerForHolder(BuiltInRegistries.MOB_EFFECT, InfinityMethods.getId("iridescent_setup"),
37
37
new IridescentEffect.Setup(MobEffectCategory.NEUTRAL, 0xFF00FF)));
···
39
39
new IridescentCooldownEffect(MobEffectCategory.NEUTRAL, 0x884488)));
40
40
AFTERGLOW = (Registry.registerForHolder(BuiltInRegistries.MOB_EFFECT, InfinityMethods.getId("afterglow"),
41
41
getAfterglowInstanceForReg()));
42
42
-
*///?}
42
42
+
//?}
43
43
}
44
44
45
45
public static MobEffect getAfterglowInstanceForReg() {
+22
-22
src/main/java/net/lerariemann/infinity/registry/var/ModItemGroups.java
···
14
14
import net.minecraft.world.item.CreativeModeTabs;
15
15
import net.minecraft.world.item.Item;
16
16
//? if neoforge {
17
17
-
import net.neoforged.bus.api.SubscribeEvent;
17
17
+
/*import net.neoforged.bus.api.SubscribeEvent;
18
18
import net.neoforged.fml.common.EventBusSubscriber;
19
19
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
20
20
@EventBusSubscriber
21
21
-
//?} else if forge {
21
21
+
*///?} else if forge {
22
22
/*import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
23
23
import net.minecraftforge.eventbus.api.SubscribeEvent;
24
24
import net.minecraftforge.fml.common.Mod;
25
25
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
26
26
*///?} else {
27
27
-
/*import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries;
28
28
-
*///?}
27
27
+
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries;
28
28
+
//?}
29
29
30
30
public class ModItemGroups {
31
31
32
32
public static void addAfter(
33
33
//? forge || neoforge {
34
34
-
BuildCreativeModeTabContentsEvent
35
35
-
//?} else {
36
36
-
/*FabricItemGroupEntries
37
37
-
*///?}
34
34
+
/*BuildCreativeModeTabContentsEvent
35
35
+
*///?} else {
36
36
+
FabricItemGroupEntries
37
37
+
//?}
38
38
event, Item itemBefore, Item itemAfter) {
39
39
//? if neoforge {
40
40
-
event.insertAfter(itemBefore.getDefaultInstance(), itemAfter.getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS);
41
41
-
//?} else if fabric {
42
42
-
/*event.addAfter(itemBefore, itemAfter);
43
43
-
*///?} else {
40
40
+
/*event.insertAfter(itemBefore.getDefaultInstance(), itemAfter.getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS);
41
41
+
*///?} else if fabric {
42
42
+
event.addAfter(itemBefore, itemAfter);
43
43
+
//?} else {
44
44
/*event.accept(itemAfter.getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS);
45
45
*///?}
46
46
}
47
47
public static void addAfter(
48
48
//? forge || neoforge {
49
49
-
BuildCreativeModeTabContentsEvent
50
50
-
//?} else {
51
51
-
/*FabricItemGroupEntries
52
52
-
*///?}
49
49
+
/*BuildCreativeModeTabContentsEvent
50
50
+
*///?} else {
51
51
+
FabricItemGroupEntries
52
52
+
//?}
53
53
event, Item itemBefore) {
54
54
event.accept(itemBefore);
55
55
}
56
56
57
57
//MyItemsClass.MY_ITEM is a Supplier<? extends Item>, MyBlocksClass.MY_BLOCK is a Supplier<? extends Block>
58
58
//? forge || neoforge {
59
59
-
@SubscribeEvent
59
59
+
/*@SubscribeEvent
60
60
public static void buildContents(BuildCreativeModeTabContentsEvent event) {
61
61
buildContents(event.getTabKey(), event);
62
62
}
63
63
-
//?}
63
63
+
*///?}
64
64
65
65
public static void buildContents(
66
66
//? forge || neoforge {
67
67
-
ResourceKey<CreativeModeTab> creativeModeTab, BuildCreativeModeTabContentsEvent
68
68
-
//?} else {
69
69
-
/*CreativeModeTab creativeModeTab, FabricItemGroupEntries
70
70
-
*///?}
67
67
+
/*ResourceKey<CreativeModeTab> creativeModeTab, BuildCreativeModeTabContentsEvent
68
68
+
*///?} else {
69
69
+
CreativeModeTab creativeModeTab, FabricItemGroupEntries
70
70
+
//?}
71
71
event) {
72
72
// Is this the tab we want to add to?
73
73
if (equals(creativeModeTab, CreativeModeTabs.BUILDING_BLOCKS)) {
+2
-2
src/main/java/net/lerariemann/infinity/registry/var/ModMaterialRules.java
···
24
24
import net.minecraft.world.level.levelgen.SurfaceRules;
25
25
26
26
//? if neoforge
27
27
-
import javax.annotation.ParametersAreNonnullByDefault;
27
27
+
/*import javax.annotation.ParametersAreNonnullByDefault;*/
28
28
29
29
import static net.lerariemann.infinity.InfinityMod.MOD_ID;
30
30
31
31
@MethodsReturnNonnullByDefault
32
32
//? if neoforge
33
33
-
@ParametersAreNonnullByDefault
33
33
+
/*@ParametersAreNonnullByDefault*/
34
34
public class ModMaterialRules {
35
35
static int normalize(int x, int size) {
36
36
int a = Math.abs(x < 0 ? x+1 : x) % size;
+4
-4
src/main/java/net/lerariemann/infinity/registry/var/ModPoi.java
···
2
2
3
3
//? fabric {
4
4
5
5
-
/*import net.fabricmc.fabric.api.object.builder.v1.world.poi.PointOfInterestHelper;
6
6
-
*///?}
5
5
+
import net.fabricmc.fabric.api.object.builder.v1.world.poi.PointOfInterestHelper;
6
6
+
//?}
7
7
import com.google.common.collect.ImmutableSet;
8
8
import dev.architectury.registry.registries.DeferredRegister;
9
9
import dev.architectury.registry.registries.RegistrySupplier;
···
38
38
39
39
public static void registerPoiFabric() {
40
40
//? fabric {
41
41
-
/*PointOfInterestHelper.register(InfinityMethods.getId("neither_portal"), 0, 1,
41
41
+
PointOfInterestHelper.register(InfinityMethods.getId("neither_portal"), 0, 1,
42
42
ImmutableSet.copyOf(ModBlocks.PORTAL.get().getStateDefinition().getPossibleStates()));
43
43
-
*///?}
43
43
+
//?}
44
44
}
45
45
}
+2
-2
src/main/java/net/lerariemann/infinity/registry/var/ModScreenHandlers.java
···
21
21
public static void register() {
22
22
SCREEN_HANDLERS.register();
23
23
//? if fabric {
24
24
-
/*MenuScreens.register(F4.get(), F4Screen::new);
25
25
-
*///?}
24
24
+
MenuScreens.register(F4.get(), F4Screen::new);
25
25
+
//?}
26
26
}
27
27
}
+4
-4
src/main/java/net/lerariemann/infinity/util/InfinityMethods.java
···
105
105
return InfinityMethods.isBiomeInfinity(acc, pos);
106
106
}
107
107
//? if fabric {
108
108
-
/*else return InfinityPlatform.INSTANCE.isFabric()
108
108
+
else return InfinityPlatform.INSTANCE.isFabric()
109
109
&& world.hasBiomes()
110
110
&& world.getBiomeFabric(pos) != null
111
111
&& InfinityMethods.isBiomeInfinity(world.getBiomeFabric(pos));
112
112
-
*///?} else {
113
113
-
return false;
114
114
-
//?}
112
112
+
//?} else {
113
113
+
/*return false;
114
114
+
*///?}
115
115
}
116
116
117
117
static int properMod(int a, int b) {
+1
-1
src/main/java/net/lerariemann/infinity/util/core/Easterizer.java
···
52
52
}
53
53
});
54
54
} catch (IOException e) {
55
55
-
throw new RuntimeException(e);
55
55
+
InfinityMod.LOGGER.error("Error reading easterizer.json file!", e);
56
56
}
57
57
}
58
58
+4
-4
src/main/java/net/lerariemann/infinity/util/core/NbtUtils.java
···
36
36
37
37
static Collection<String> keys(ValueInput tag) {
38
38
//? if neoforge {
39
39
-
return tag.keySet();
40
40
-
//?} else {
41
41
-
/*return tag.keys();
42
42
-
*///?}
39
39
+
/*return tag.keySet();
40
40
+
*///?} else {
41
41
+
return tag.keys();
42
42
+
//?}
43
43
}
44
44
static boolean compoundHasString(ValueInput tag, String dimension) {
45
45
return tag.getString(dimension).isPresent();
+9
-8
src/main/java/net/lerariemann/infinity/util/platform/InfinityPlatform.java
···
1
1
package net.lerariemann.infinity.util.platform;
2
2
3
3
//? fabric {
4
4
-
/*import net.lerariemann.infinity.util.platform.fabric.FabricPlatformImpl;
5
5
-
*///?}
6
6
-
//? neoforge {
7
7
-
import net.lerariemann.infinity.util.platform.neoforge.NeoForgePlatformImpl;
4
4
+
import net.lerariemann.infinity.util.platform.fabric.FabricPlatformImpl;
8
5
//?}
6
6
+
//? neoforge {
7
7
+
/*import net.lerariemann.infinity.util.platform.neoforge.NeoForgePlatformImpl;
8
8
+
*///?}
9
9
import dev.architectury.registry.registries.RegistrySupplier;
10
10
import net.lerariemann.infinity.registry.var.ModPayloads;
11
11
import net.minecraft.nbt.CompoundTag;
···
15
15
import net.minecraft.world.item.ItemStack;
16
16
import net.minecraft.world.item.enchantment.ItemEnchantments;
17
17
//?}
18
18
+
import net.minecraft.nbt.CompoundTag;
18
19
import net.minecraft.resources.ResourceKey;
19
20
import net.minecraft.server.level.ServerLevel;
20
21
import net.minecraft.server.level.ServerPlayer;
···
75
76
}
76
77
77
78
//? fabric {
78
78
-
/*InfinityPlatform INSTANCE = new FabricPlatformImpl();
79
79
-
*///?}
79
79
+
InfinityPlatform INSTANCE = new FabricPlatformImpl();
80
80
+
//?}
80
81
//? neoforge {
81
81
-
InfinityPlatform INSTANCE = new NeoForgePlatformImpl();
82
82
-
//?}
82
82
+
/*InfinityPlatform INSTANCE = new NeoForgePlatformImpl();
83
83
+
*///?}
83
84
//? forge {
84
85
/*InfinityPlatform INSTANCE = new ForgePlatformImpl();
85
86
*///?}
+12
-12
src/main/java/net/lerariemann/infinity/util/platform/fabric/FabricClientEntrypoint.java
···
1
1
package net.lerariemann.infinity.util.platform.fabric;
2
2
3
3
//? fabric {
4
4
-
/*//? if >1.21.2 {
4
4
+
//? if >1.21.2 {
5
5
import net.fabricmc.fabric.api.client.rendering.v1.BlockRenderLayerMap;
6
6
import net.lerariemann.infinity.item.tint.InfinityTintSource;
7
7
import net.minecraft.client.color.item.ItemTintSources;
8
8
import net.minecraft.client.renderer.chunk.ChunkSectionLayer;
9
9
//?} else {
10
10
-
/^import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
10
10
+
/*import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
11
11
import net.lerariemann.infinity.util.platform.InfinityPlatform;
12
12
import net.minecraft.client.renderer.RenderType;
13
13
-
^///?}
13
13
+
*///?}
14
14
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry;
15
15
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
16
16
import net.fabricmc.fabric.api.transfer.v1.client.fluid.FluidVariantRendering;
···
36
36
ModBlocks.CHROMATIC_WOOL.get(),
37
37
ModBlocks.CHROMATIC_CARPET.get());
38
38
//? if <1.21.4 {
39
39
-
/^ColorProviderRegistry.ITEM.register(InfinityMethods::getOverlayColorFromComponents,
39
39
+
/*ColorProviderRegistry.ITEM.register(InfinityMethods::getOverlayColorFromComponents,
40
40
ModItems.TRANSFINITE_KEY.get(),
41
41
ModItems.BIOME_BOTTLE_ITEM.get(),
42
42
ModItems.F4.get());
···
47
47
ModItems.PORTAL_ITEM.get());
48
48
ColorProviderRegistry.ITEM.register(InfinityMethods::getDiscColorFromComponents,
49
49
ModItems.DISC.get());
50
50
-
^///?} else {
50
50
+
*///?} else {
51
51
ItemTintSources.ID_MAPPER.put(InfinityMethods.getId("color"), InfinityTintSource.MAP_CODEC);
52
52
//?}
53
53
···
55
55
//? if >1.21.2 {
56
56
BlockRenderLayerMap.putBlocks(ChunkSectionLayer.CUTOUT_MIPPED,
57
57
//?} else {
58
58
-
/^BlockRenderLayerMap.INSTANCE.putBlocks(RenderType.cutoutMipped(),
59
59
-
^///?}
58
58
+
/*BlockRenderLayerMap.INSTANCE.putBlocks(RenderType.cutoutMipped(),
59
59
+
*///?}
60
60
ModBlocks.BOOK_BOX.get(),
61
61
ModBlocks.IRIDESCENT_KELP.get(),
62
62
ModBlocks.IRIDESCENT_KELP_PLANT.get());
63
63
//? if >1.21.2 {
64
64
BlockRenderLayerMap.putBlocks(ChunkSectionLayer.TRANSLUCENT,
65
65
//?} else {
66
66
-
/^BlockRenderLayerMap.INSTANCE.putBlocks(RenderType.translucent(),
67
67
-
^///?}
66
66
+
/*BlockRenderLayerMap.INSTANCE.putBlocks(RenderType.translucent(),
67
67
+
*///?}
68
68
ModBlocks.TIME_BOMB.get(),
69
69
ModBlocks.BIOME_BOTTLE.get(),
70
70
ModBlocks.CHROMATIC_WOOL.get(),
···
72
72
//? if >1.21.2 {
73
73
BlockRenderLayerMap.putFluids(ChunkSectionLayer.TRANSLUCENT,
74
74
//?} else {
75
75
-
/^BlockRenderLayerMap.INSTANCE.putFluids(RenderType.translucent(),
76
76
-
^///?}
75
75
+
/*BlockRenderLayerMap.INSTANCE.putFluids(RenderType.translucent(),
76
76
+
*///?}
77
77
InfinityPlatform.INSTANCE.getIridescenceStill().get(),
78
78
InfinityPlatform.INSTANCE.getIridescenceFlowing().get());
79
79
···
90
90
FluidRenderHandlerRegistry.INSTANCE.register(InfinityPlatform.INSTANCE.getIridescenceFlowing().get(), new ModFluidsFabric.IridescenceRenderHandler());
91
91
}
92
92
}
93
93
-
*///?}
93
93
+
//?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/fabric/FabricEntrypoint.java
···
2
2
3
3
//? fabric {
4
4
5
5
-
/*import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
5
5
+
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
6
6
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
7
7
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
8
8
import net.fabricmc.loader.api.FabricLoader;
···
45
45
ResourcePackActivationType.ALWAYS_ENABLED);
46
46
}
47
47
}
48
48
-
*///?}
48
48
+
//?}
+27
-28
src/main/java/net/lerariemann/infinity/util/platform/fabric/FabricPlatformImpl.java
···
1
1
package net.lerariemann.infinity.util.platform.fabric;
2
2
3
3
//? fabric {
4
4
-
/*import dev.architectury.registry.registries.RegistrySupplier;
4
4
+
import dev.architectury.registry.registries.RegistrySupplier;
5
5
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
6
6
//? if >1.21 {
7
7
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents;
···
10
10
import net.minecraft.world.item.enchantment.ItemEnchantments;
11
11
//?}
12
12
//? if <1.21 {
13
13
-
/^import net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents;
14
14
-
^///?}
13
13
+
/*import net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents;
14
14
+
*///?}
15
15
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
16
16
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
17
17
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
···
86
86
87
87
}
88
88
89
89
-
/^*
89
89
+
/**
90
90
* On NeoForge, this allows the world to be ticked.
91
91
* On Fabric, this invokes a server world event in Fabric API.
92
92
-
^/
92
92
+
*/
93
93
public void onWorldLoad(Object mixin, ServerLevel world) {
94
94
ServerWorldEvents.LOAD.invoker().onWorldLoad((MinecraftServer) mixin, world);
95
95
}
96
96
97
97
-
/^*
97
97
+
/**
98
98
* Check if a block is in the Black Dyed Conventional Tag.
99
99
-
^/
99
99
+
*/
100
100
public boolean isInBlack(BlockState state) {
101
101
//? if <1.21 {
102
102
-
/^return BuiltInRegistries.BLOCK.getKey(state.getBlock()).getPath().contains("black_");
103
103
-
^///?} else {
102
102
+
/*return BuiltInRegistries.BLOCK.getKey(state.getBlock()).getPath().contains("black_");
103
103
+
*///?} else {
104
104
return state.is(ConventionalBlockTags.BLACK_DYED);
105
105
//?}
106
106
}
107
107
108
108
-
/^*
108
108
+
/**
109
109
* Check if a block is in the White Dyed Conventional Tag.
110
110
-
^/
110
110
+
*/
111
111
public boolean isInWhite(BlockState state) {
112
112
//? if <1.21 {
113
113
-
/^return BuiltInRegistries.BLOCK.getKey(state.getBlock()).getPath().contains("white_");
114
114
-
^///?} else {
113
113
+
/*return BuiltInRegistries.BLOCK.getKey(state.getBlock()).getPath().contains("white_");
114
114
+
*///?} else {
115
115
return state.is(ConventionalBlockTags.WHITE_DYED);
116
116
//?}
117
117
}
118
118
119
119
-
/^*
119
119
+
/**
120
120
* Get the still variant of Iridescence fluid.
121
121
-
^/
121
121
+
*/
122
122
public RegistrySupplier<? extends FlowingFluid> getIridescenceStill() {
123
123
return ModFluidsFabric.IRIDESCENCE_STILL;
124
124
}
125
125
-
/^*
125
125
+
/**
126
126
* Get the flowing variant of Iridescence fluid.
127
127
-
^/
127
127
+
*/
128
128
public RegistrySupplier<? extends FlowingFluid> getIridescenceFlowing() {
129
129
return ModFluidsFabric.IRIDESCENCE_FLOWING;
130
130
}
131
131
132
132
-
/^*
132
132
+
/**
133
133
* Get the registry supplier for Iridescence fluid.
134
134
-
^/
134
134
+
*/
135
135
public RegistrySupplier<LiquidBlock> getIridBlockForReg() {
136
136
var properties = VersionMethods.copyBlockProperties(Blocks.WATER).mapColor(MapColor.COLOR_MAGENTA)
137
137
//? if >1.21.2
···
142
142
properties));
143
143
}
144
144
145
145
-
/^*
145
145
+
/**
146
146
* Read from the config path inside the mod JAR.
147
147
-
^/
147
147
+
*/
148
148
@SuppressWarnings("for removal")
149
149
public Path getRootPathInJar(String path) {
150
150
ModContainer mc = FabricLoader.getInstance().getModContainer(InfinityMod.MOD_ID).orElse(null);
···
152
152
return mc.getRootPaths().getFirst().resolve(path);
153
153
}
154
154
155
155
-
/^*
155
155
+
/**
156
156
* Create an Item Tag.
157
157
-
^/
157
157
+
*/
158
158
public TagKey<Item> createItemTag(String id) {
159
159
return TagKey.create(Registries.ITEM, InfinityMethods.getId(id));
160
160
}
···
162
162
return TagKey.create(Registries.BLOCK, InfinityMethods.getId(id));
163
163
}
164
164
165
165
-
/^*
165
165
+
/**
166
166
* Register a Flammable nameToElement (how does Architectury API not have a helper for this)
167
167
-
^/
167
167
+
*/
168
168
public void registerFlammableBlock(RegistrySupplier<Block> block, int burn, int spread) {
169
169
FlammableBlockRegistry.getDefaultInstance().add(block.get(), burn, spread);
170
170
}
171
171
172
172
-
/^*
172
172
+
/**
173
173
* Neoforge-exclusive method of testing if a mob is located in iridescence as far as fluid types are concerned.
174
174
* Used only in mixins, to fix the neoforge loader stripping mobs of ability to swim in non-water fluids.
175
175
* On Fabric, returns false.
176
176
-
^/
176
176
+
*/
177
177
public boolean acidTest(Entity entity, boolean eyes) {
178
178
return false;
179
179
}
···
203
203
return FabricLoader.getInstance().getGameDir();
204
204
}
205
205
}
206
206
-
*/
+6
-6
src/main/java/net/lerariemann/infinity/util/platform/fabric/ModFluidsFabric.java
···
1
1
package net.lerariemann.infinity.util.platform.fabric;
2
2
3
3
//? fabric {
4
4
-
/*import dev.architectury.registry.registries.DeferredRegister;
4
4
+
import dev.architectury.registry.registries.DeferredRegister;
5
5
import dev.architectury.registry.registries.RegistrySupplier;
6
6
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler;
7
7
import net.fabricmc.fabric.api.transfer.v1.client.fluid.FluidVariantRenderHandler;
···
74
74
//? if >1.21.2 {
75
75
ServerLevel
76
76
//?} else {
77
77
-
/^Level
78
78
-
^///?}
77
77
+
/*Level
78
78
+
*///?}
79
79
world) {
80
80
return Iridescence.isInfinite(world);
81
81
}
···
170
170
@Override
171
171
public TextureAtlasSprite[] getFluidSprites(@Nullable BlockAndTintGetter view, @Nullable BlockPos pos, FluidState state) {
172
172
//? if >1.21.8 {
173
173
-
/^TextureAtlas atlas = Minecraft.getInstance().getAtlasManager().getAtlasOrThrow(TextureAtlas.LOCATION_BLOCKS);
173
173
+
/*TextureAtlas atlas = Minecraft.getInstance().getAtlasManager().getAtlasOrThrow(TextureAtlas.LOCATION_BLOCKS);
174
174
TextureAtlasSprite overlaySprite = atlas.getSprite(Iridescence.OVERLAY_TEXTURE);
175
175
TextureAtlasSprite[] sprites = new TextureAtlasSprite[3];
176
176
sprites[0] = atlas.getSprite(Iridescence.TEXTURE);
177
177
sprites[1] = atlas.getSprite(Iridescence.FLOWING_TEXTURE);
178
178
sprites[2] = overlaySprite;
179
179
-
^///?} else {
179
179
+
*///?} else {
180
180
Function<ResourceLocation, TextureAtlasSprite> atlas = Minecraft.getInstance().getTextureAtlas(TextureAtlas.LOCATION_BLOCKS);
181
181
TextureAtlasSprite overlaySprite = atlas.apply(Iridescence.OVERLAY_TEXTURE);
182
182
TextureAtlasSprite[] sprites = new TextureAtlasSprite[overlaySprite == null ? 2 : 3];
···
193
193
}
194
194
}
195
195
}
196
196
-
*///?}
196
196
+
//?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/fabric/ModPayloadsFabric.java
···
1
1
package net.lerariemann.infinity.util.platform.fabric;
2
2
3
3
//? if >1.21 && fabric {
4
4
-
/*import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
4
4
+
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
5
5
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
6
6
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
7
7
import net.lerariemann.infinity.registry.var.ModPayloads;
···
48
48
SoundScanner.unpackDownloadedPack(payload.songIds(), client(context)));
49
49
}
50
50
}
51
51
-
*///?}
51
51
+
//?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/fabric/compat/ModConfigFactory.java
···
1
1
package net.lerariemann.infinity.util.platform.fabric.compat;
2
2
3
3
//? fabric {
4
4
-
/*import com.terraformersmc.modmenu.api.ConfigScreenFactory;
4
4
+
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
5
5
import net.lerariemann.infinity.compat.cloth.ClothConfigFactory;
6
6
import net.minecraft.client.gui.screens.Screen;
7
7
···
11
11
return ClothConfigFactory.create(parent);
12
12
}
13
13
}
14
14
-
*///?}
14
14
+
//?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/fabric/compat/ModMenuCompat.java
···
1
1
package net.lerariemann.infinity.util.platform.fabric.compat;
2
2
3
3
//? fabric {
4
4
-
/*import com.terraformersmc.modmenu.api.ConfigScreenFactory;
4
4
+
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
5
5
import com.terraformersmc.modmenu.api.ModMenuApi;
6
6
import net.lerariemann.infinity.compat.ModCompat;
7
7
import net.lerariemann.infinity.util.platform.InfinityPlatform;
···
16
16
}
17
17
}
18
18
}
19
19
-
*///?}
19
19
+
//?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/neoforge/FluidTypes.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import net.lerariemann.infinity.InfinityMod;
4
4
+
/*import net.lerariemann.infinity.InfinityMod;
5
5
import net.lerariemann.infinity.iridescence.Iridescence;
6
6
import net.minecraft.core.BlockPos;
7
7
import net.minecraft.sounds.SoundEvents;
···
85
85
}
86
86
}
87
87
}
88
88
-
//?}
88
88
+
*///?}
+6
-6
src/main/java/net/lerariemann/infinity/util/platform/neoforge/InfinityModNeoForgeClient.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import net.lerariemann.infinity.InfinityMod;
4
4
+
/*import net.lerariemann.infinity.InfinityMod;
5
5
import net.lerariemann.infinity.InfinityModClient;
6
6
import net.lerariemann.infinity.compat.ModCompat;
7
7
import net.lerariemann.infinity.registry.var.ModPayloads;
···
72
72
event.register(InfinityMethods::getBookBoxColor, ModBlocks.BOOK_BOX.get());
73
73
}
74
74
//? if <1.21.4 {
75
75
-
/*@SubscribeEvent
75
75
+
/^@SubscribeEvent
76
76
public static void registerItemColorHandlers(RegisterColorHandlersEvent.Item event) {
77
77
event.register(InfinityMethods::getOverlayColorFromComponents,
78
78
ModItems.TRANSFINITE_KEY.get(),
···
86
86
event.register(InfinityMethods::getDiscColorFromComponents,
87
87
ModItems.DISC.get());
88
88
}
89
89
-
*///?} else {
89
89
+
^///?} else {
90
90
@SubscribeEvent
91
91
public static void registerItemColorHandlers(RegisterColorHandlersEvent.ItemTintSources event) {
92
92
event.register(InfinityMethods.getId("color"), InfinityTintSource.MAP_CODEC);
···
107
107
ItemBlockRenderTypes.setRenderLayer(InfinityPlatform.INSTANCE.getIridescenceStill().get(), ChunkSectionLayer.TRANSLUCENT);
108
108
ItemBlockRenderTypes.setRenderLayer(InfinityPlatform.INSTANCE.getIridescenceFlowing().get(), ChunkSectionLayer.TRANSLUCENT);
109
109
//?} else {
110
110
-
/*ItemBlockRenderTypes.setRenderLayer(InfinityPlatform.INSTANCE.getIridescenceStill().get(), RenderType.translucent());
110
110
+
/^ItemBlockRenderTypes.setRenderLayer(InfinityPlatform.INSTANCE.getIridescenceStill().get(), RenderType.translucent());
111
111
ItemBlockRenderTypes.setRenderLayer(InfinityPlatform.INSTANCE.getIridescenceFlowing().get(), RenderType.translucent());
112
112
-
*///?}
112
112
+
^///?}
113
113
}
114
114
115
115
@SubscribeEvent
···
140
140
}, FluidTypes.IRIDESCENCE_TYPE.value());
141
141
}
142
142
}
143
143
-
//?}
143
143
+
*///?}
+6
-6
src/main/java/net/lerariemann/infinity/util/platform/neoforge/InfinityModNeoforge.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import net.lerariemann.infinity.InfinityMod;
4
4
+
/*import net.lerariemann.infinity.InfinityMod;
5
5
//? if >1.21.4 {
6
6
import net.lerariemann.infinity.compat.ModCompat;
7
7
import net.lerariemann.infinity.compat.rrv.RrvIntegration;
···
45
45
ModFluidsNeoforge.registerModFluids();
46
46
ModEffectsNeoforge.register(eventBus);
47
47
//? if <1.21.2 {
48
48
-
/*if (InfinityPlatform.INSTANCE.isModLoaded("create"))
48
48
+
/^if (InfinityPlatform.INSTANCE.isModLoaded("create"))
49
49
net.lerariemann.infinity.compat.CreateCompat.register();
50
50
-
*///?}
50
50
+
^///?}
51
51
}
52
52
53
53
@SubscribeEvent
···
94
94
public static MinecraftServer getServerFromPlayer(IPayloadContext context) {
95
95
ServerPlayer player = getPlayer(context);
96
96
//? if >1.21.9 {
97
97
-
/*return player.level().getServer();
98
98
-
*///?} else {
97
97
+
/^return player.level().getServer();
98
98
+
^///?} else {
99
99
return player.getServer();
100
100
//?}
101
101
}
···
145
145
);
146
146
}
147
147
}
148
148
-
//?}
148
148
+
*///?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/neoforge/IridescenceLiquidBlockNeoforge.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import net.lerariemann.infinity.iridescence.IridescenceLiquidBlock;
4
4
+
/*import net.lerariemann.infinity.iridescence.IridescenceLiquidBlock;
5
5
import net.minecraft.core.BlockPos;
6
6
import net.minecraft.world.entity.Mob;
7
7
import net.minecraft.world.level.BlockGetter;
···
24
24
return PathType.WATER;
25
25
}
26
26
}
27
27
-
//?}
27
27
+
*///?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/neoforge/ModConfigFactory.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import net.lerariemann.infinity.compat.cloth.ClothConfigFactory;
4
4
+
/*import net.lerariemann.infinity.compat.cloth.ClothConfigFactory;
5
5
import net.minecraft.client.gui.screens.Screen;
6
6
import net.neoforged.fml.ModContainer;
7
7
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
···
14
14
return ClothConfigFactory.create(parent);
15
15
}
16
16
}
17
17
-
//?}
17
17
+
*///?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/neoforge/ModEffectsNeoforge.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import net.lerariemann.infinity.InfinityMod;
4
4
+
/*import net.lerariemann.infinity.InfinityMod;
5
5
import net.lerariemann.infinity.iridescence.IridescentCooldownEffect;
6
6
import net.lerariemann.infinity.iridescence.IridescentEffect;
7
7
import net.lerariemann.infinity.registry.core.ModStatusEffects;
···
26
26
EFFECTS.register(eventBus);
27
27
}
28
28
}
29
29
-
//?}
29
29
+
*///?}
+2
-2
src/main/java/net/lerariemann/infinity/util/platform/neoforge/ModFluidsNeoforge.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import dev.architectury.registry.registries.DeferredRegister;
4
4
+
/*import dev.architectury.registry.registries.DeferredRegister;
5
5
import dev.architectury.registry.registries.RegistrySupplier;
6
6
import net.lerariemann.infinity.registry.core.ModBlocks;
7
7
import net.lerariemann.infinity.registry.core.ModItems;
···
30
30
FLUIDS.register();
31
31
}
32
32
}
33
33
-
//?}
33
33
+
*///?}
+30
-30
src/main/java/net/lerariemann/infinity/util/platform/neoforge/NeoForgePlatformImpl.java
···
1
1
package net.lerariemann.infinity.util.platform.neoforge;
2
2
3
3
//? neoforge {
4
4
-
import dev.architectury.registry.registries.RegistrySupplier;
4
4
+
/*import dev.architectury.registry.registries.RegistrySupplier;
5
5
import net.lerariemann.infinity.registry.core.ModBlocks;
6
6
import net.lerariemann.infinity.registry.core.ModItems;
7
7
import net.lerariemann.infinity.registry.var.ModPayloads;
···
64
64
@Override
65
65
public boolean isDevelopment() {
66
66
//? if >1.21.9 {
67
67
-
/*return !FMLEnvironment.isProduction();
68
68
-
*///?} else {
67
67
+
/^return !FMLEnvironment.isProduction();
68
68
+
^///?} else {
69
69
return !FMLEnvironment.production;
70
70
//?}
71
71
···
83
83
@Override
84
84
public void sendC2SPayload(ModPayloads.FriendlyPacket payload) {
85
85
//? <1.21.2 {
86
86
-
/*PacketDistributor.sendToServer(payload);
87
87
-
*///?} else {
86
86
+
/^PacketDistributor.sendToServer(payload);
87
87
+
^///?} else {
88
88
ClientPacketDistributor.sendToServer(payload);
89
89
//?}
90
90
}
91
91
92
92
-
/**
92
92
+
/^*
93
93
* On NeoForge, this allows the world to be ticked.
94
94
* On Fabric, this invokes a server world event in Fabric API.
95
95
-
*/
95
95
+
^/
96
96
@Override
97
97
public void onWorldLoad(Object mixin, ServerLevel world) {
98
98
MinecraftServer server = world.getServer();
···
101
101
NeoForge.EVENT_BUS.post(new LevelEvent.Load(world));
102
102
}
103
103
104
104
-
/**
104
104
+
/^*
105
105
* Check if a block is in the Black Dyed Conventional Tag.
106
106
-
*/
106
106
+
^/
107
107
@Override
108
108
public boolean isInBlack(BlockState state) {
109
109
return state.is(Tags.Blocks.DYED_BLACK);
110
110
}
111
111
112
112
-
/**
112
112
+
/^*
113
113
* Check if a block is in the White Dyed Conventional Tag.
114
114
-
*/
114
114
+
^/
115
115
@Override
116
116
public boolean isInWhite(BlockState state) {
117
117
return state.is(Tags.Blocks.DYED_WHITE);
118
118
}
119
119
120
120
-
/**
120
120
+
/^*
121
121
* Get the still variant of Iridescence fluid.
122
122
-
*/
122
122
+
^/
123
123
@Override
124
124
public RegistrySupplier<? extends FlowingFluid> getIridescenceStill() {
125
125
return ModFluidsNeoforge.IRIDESCENCE_STILL;
126
126
}
127
127
-
/**
127
127
+
/^*
128
128
* Get the flowing variant of Iridescence fluid.
129
129
-
*/
129
129
+
^/
130
130
@Override
131
131
public RegistrySupplier<? extends FlowingFluid> getIridescenceFlowing() {
132
132
return ModFluidsNeoforge.IRIDESCENCE_FLOWING;
133
133
}
134
134
135
135
-
/**
135
135
+
/^*
136
136
* Get the registry supplier for Iridescence fluid.
137
137
-
*/
137
137
+
^/
138
138
@Override
139
139
public RegistrySupplier<LiquidBlock> getIridBlockForReg() {
140
140
var properties = VersionMethods.copyBlockProperties(Blocks.WATER).mapColor(MapColor.COLOR_MAGENTA)
···
145
145
new IridescenceLiquidBlockNeoforge(InfinityPlatform.INSTANCE.getIridescenceStill(), properties));
146
146
}
147
147
148
148
-
/**
148
148
+
/^*
149
149
* Read from the config path inside the mod JAR.
150
150
-
*/
150
150
+
^/
151
151
@Override
152
152
@SuppressWarnings("for removal")
153
153
public Path getRootPathInJar(String path) {
154
154
var file = ModLoadingContext.get().getActiveContainer().getModInfo().getOwningFile().getFile();
155
155
// FIXME 1.21.10 - this does not work in production. standard paths do not work on neoforge 1.21.10, will either need to drop neo or make this even more platform specific
156
156
//? if >1.21.9 {
157
157
-
/*var contents = file.getContents();
157
157
+
/^var contents = file.getContents();
158
158
Path returnPath = null;
159
159
for (Path contentRoot : contents.getContentRoots()) {
160
160
if (contentRoot.resolve(path).toFile().exists()) {
···
162
162
}
163
163
}
164
164
return returnPath;
165
165
-
*///?} else {
165
165
+
^///?} else {
166
166
return file.findResource(path);
167
167
//?}
168
168
}
169
169
170
170
-
/**
170
170
+
/^*
171
171
* Create an Item Tag.
172
172
-
*/
172
172
+
^/
173
173
@Override
174
174
public TagKey<Item> createItemTag(String id) {
175
175
return ItemTags.create(InfinityMethods.getId(id));
···
179
179
return BlockTags.create(InfinityMethods.getId(id));
180
180
}
181
181
182
182
-
/**
182
182
+
/^*
183
183
* Register a Flammable nameToElement (how does Architectury API not have a helper for this)
184
184
-
*/
184
184
+
^/
185
185
@Override
186
186
public void registerFlammableBlock(RegistrySupplier<Block> block, int burn, int spread) {
187
187
FireBlock fireblock = (FireBlock)Blocks.FIRE;
188
188
fireblock.setFlammable(block.get(), burn, spread);
189
189
}
190
190
191
191
-
/**
191
191
+
/^*
192
192
* Neoforge-exclusive method of testing if a mob is located in iridescence as far as fluid types are concerned.
193
193
* Used only in mixins, to fix the neoforge loader stripping mobs of ability to swim in non-water fluids.
194
194
* On Fabric, returns false.
195
195
-
*/
195
195
+
^/
196
196
@Override
197
197
public boolean acidTest(Entity entity, boolean eyes) {
198
198
if (entity instanceof Player) return false;
···
218
218
//? if >1.21.4 {
219
219
.lookupOrThrow(Registries.ENCHANTMENT));
220
220
//?} else {
221
221
-
/*.lookupOrThrow(Registries.ENCHANTMENT));
222
222
-
*///?}
221
221
+
/^.lookupOrThrow(Registries.ENCHANTMENT));
222
222
+
^///?}
223
223
}
224
224
225
225
@Override
···
232
232
return FMLPaths.GAMEDIR.get();
233
233
}
234
234
}
235
235
-
//?}
235
235
+
*///?}
+2
-2
src/main/java/net/lerariemann/infinity/util/screen/F4ScreenHandler.java
···
27
27
import net.minecraft.core.component.DataComponentMap;
28
28
//?}
29
29
//? if neoforge {
30
30
-
import javax.annotation.ParametersAreNonnullByDefault;
30
30
+
/*import javax.annotation.ParametersAreNonnullByDefault;
31
31
32
32
@ParametersAreNonnullByDefault
33
33
-
//?}
33
33
+
*///?}
34
34
@MethodsReturnNonnullByDefault
35
35
public class F4ScreenHandler extends AbstractContainerMenu {
36
36
public final Inventory playerInventory;
+2
-2
src/main/java/net/lerariemann/infinity/util/teleport/PortalCreator.java
···
286
286
.addModifier(npbe -> npbe.setOpen(open))
287
287
.addModifier(BlockEntity::setChanged);
288
288
//? if <1.21.2 || fabric {
289
289
-
/*if (ModCompat.CREATE) {
289
289
+
if (ModCompat.CREATE) {
290
290
union.addModifier(CreateCompat::tryModifyRails);
291
291
}
292
292
-
*///?}
292
292
+
//?}
293
293
return union;
294
294
}
295
295
src/main/resources/data/c/tags/item/buckets.json
versions/1.20.1-fabric/src/main/generated/data/c/tags/items/buckets.json
+7
-6
src/main/resources/data/infinity/loot_table/blocks/ant.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/ant.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:ant"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+8
-7
src/main/resources/data/infinity/loot_table/blocks/book_box.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/book_box.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:book_box"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
19
-
}
20
20
+
}
+7
-6
src/main/resources/data/infinity/loot_table/blocks/cosmic_altar.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/cosmic_altar.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:cosmic_altar"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+7
-6
src/main/resources/data/infinity/loot_table/blocks/cursor.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/cursor.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:cursor"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+7
-6
src/main/resources/data/infinity/loot_table/blocks/iridescent_carpet.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_carpet.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:iridescent_carpet"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+1
-2
src/main/resources/data/infinity/loot_table/blocks/iridescent_kelp.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp.json
···
16
16
],
17
17
"rolls": 1.0
18
18
}
19
19
-
],
20
20
-
"random_sequence": "minecraft:blocks/kelp"
19
19
+
]
21
20
}
+1
-2
src/main/resources/data/infinity/loot_table/blocks/iridescent_kelp_plant.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp_plant.json
···
16
16
],
17
17
"rolls": 1.0
18
18
}
19
19
-
],
20
20
-
"random_sequence": "minecraft:blocks/kelp"
19
19
+
]
21
20
}
+7
-6
src/main/resources/data/infinity/loot_table/blocks/iridescent_wool.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_wool.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:iridescent_wool"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+8
-7
src/main/resources/data/infinity/loot_table/blocks/netherite_slab.json
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/cursor.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
9
-
"name": "infinity:netherite_slab"
14
14
+
"name": "infinity:cursor"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+7
-6
src/main/resources/data/infinity/loot_table/blocks/netherite_stairs.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/netherite_stairs.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:netherite_stairs"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+1
-2
src/main/resources/data/infinity/loot_table/blocks/notes_block.json
versions/1.21.8-fabric/src/main/generated/data/infinity/loot_table/blocks/notes_block.json
···
16
16
],
17
17
"rolls": 1.0
18
18
}
19
19
-
],
20
20
-
"random_sequence": "minecraft:blocks/note_block"
19
19
+
]
21
20
}
+2
-2
src/main/resources/data/infinity/recipe/altar.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/altar.json
···
12
12
"pattern": [
13
13
"SSS",
14
14
" B ",
15
15
-
" S "
15
15
+
" B "
16
16
],
17
17
"result": {
18
18
-
"id": "infinity:altar"
18
18
+
"item": "infinity:altar"
19
19
},
20
20
"show_notification": true
21
21
}
+3
-2
src/main/resources/data/infinity/recipe/altar_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/altar_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:lectern"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:altar"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+4
-4
src/main/resources/data/infinity/recipe/ant.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/ant.json
···
5
5
"B": {
6
6
"item": "minecraft:black_concrete"
7
7
},
8
8
-
"W": {
9
9
-
"item": "minecraft:white_concrete"
10
10
-
},
11
8
"M": {
12
9
"item": "infinity:star_of_lang"
10
10
+
},
11
11
+
"W": {
12
12
+
"item": "minecraft:white_concrete"
13
13
}
14
14
},
15
15
"pattern": [
···
18
18
"WBW"
19
19
],
20
20
"result": {
21
21
-
"id": "infinity:ant"
21
21
+
"item": "infinity:ant"
22
22
},
23
23
"show_notification": true
24
24
}
+3
-3
src/main/resources/data/infinity/recipe/ant1.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/ant1.json
···
3
3
"category": "building",
4
4
"key": {
5
5
"B": {
6
6
-
"item": "infinity:black_matter"
6
6
+
"item": "minecraft:black_concrete"
7
7
},
8
8
"W": {
9
9
-
"item": "infinity:white_matter"
9
9
+
"item": "minecraft:white_concrete"
10
10
}
11
11
},
12
12
"pattern": [
···
15
15
"WBW"
16
16
],
17
17
"result": {
18
18
-
"id": "infinity:ant"
18
18
+
"item": "infinity:ant"
19
19
},
20
20
"show_notification": true
21
21
}
+3
-2
src/main/resources/data/infinity/recipe/biome_bottle_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/biome_bottle_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:glass_bottle"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:biome_bottle"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+2
-2
src/main/resources/data/infinity/recipe/black_matter.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/black_matter.json
···
12
12
"BBB"
13
13
],
14
14
"result": {
15
15
+
"count": 1,
15
16
"id": "infinity:black_matter"
16
16
-
},
17
17
-
"show_notification": true
17
17
+
}
18
18
}
+3
-2
src/main/resources/data/infinity/recipe/book_box_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/book_box_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:bookshelf"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:book_box"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/chromatic_carpet.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/chromatic_carpet_from_portal.json
···
3
3
"input": {
4
4
"tag": "minecraft:wool_carpets"
5
5
},
6
6
+
"lore": "recipe_info.portal.infinity.color",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:chromatic_carpet"
8
8
-
},
9
9
-
"lore": "recipe_info.portal.infinity.color"
10
10
+
}
10
11
}
+1
src/main/resources/data/infinity/recipe/chromatic_coloring_carpet.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/chromatic_coloring_carpet.json
···
4
4
"tag": "minecraft:wool_carpets"
5
5
},
6
6
"output": {
7
7
+
"count": 1,
7
8
"id": "infinity:chromatic_carpet"
8
9
}
9
10
}
+1
src/main/resources/data/infinity/recipe/chromatic_coloring_wool.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/chromatic_coloring_wool.json
···
4
4
"tag": "minecraft:wool"
5
5
},
6
6
"output": {
7
7
+
"count": 1,
7
8
"id": "infinity:chromatic_wool"
8
9
}
9
10
}
+3
-2
src/main/resources/data/infinity/recipe/chromatic_matter.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/chromatic_matter.json
···
3
3
"input": {
4
4
"tag": "infinity:matter"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:chromatic_matter"
8
8
-
},
9
9
-
"lore": "recipe_info.portal.infinity.color"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/chromatic_matter_from_iridescence.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/chromatic_matter_from_iridescence.json
···
3
3
"input": {
4
4
"item": "infinity:chromatic_matter"
5
5
},
6
6
+
"lore": "recipe_info.iridescence.infinity.chromatic_matter",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:chromatic_matter"
8
8
-
},
9
9
-
"lore": "recipe_info.iridescence.infinity.chromatic_matter"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/chromatic_wool.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/chromatic_wool.json
···
3
3
"input": {
4
4
"tag": "minecraft:wool"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:chromatic_wool"
8
8
-
},
9
9
-
"lore": "recipe_info.portal.infinity.color"
10
10
+
}
10
11
}
+4
-5
src/main/resources/data/infinity/recipe/cosmic_altar.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/cosmic_altar.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "misc",
4
4
"key": {
5
5
-
"L": {
6
6
-
"item": "minecraft:lodestone"
7
7
-
},
8
5
"A": {
9
6
"item": "infinity:altar"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lodestone"
10
10
},
11
11
"S": {
12
12
"item": "infinity:iridescent_star"
···
20
20
"result": {
21
21
"count": 1,
22
22
"id": "infinity:cosmic_altar"
23
23
-
},
24
24
-
"show_notification": true
23
23
+
}
25
24
}
+4
-4
src/main/resources/data/infinity/recipe/cursor.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/cursor.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"L": {
6
6
-
"item": "minecraft:lime_concrete"
7
7
-
},
8
5
"B": {
9
6
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lime_concrete"
10
10
},
11
11
"S": {
12
12
"item": "infinity:star_of_lang"
···
19
19
],
20
20
"result": {
21
21
"count": 8,
22
22
-
"id": "infinity:cursor"
22
22
+
"item": "infinity:cursor"
23
23
},
24
24
"show_notification": true
25
25
}
+1
-2
src/main/resources/data/infinity/recipe/f4.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/f4.json
···
17
17
"result": {
18
18
"count": 1,
19
19
"id": "infinity:f4"
20
20
-
},
21
21
-
"show_notification": true
20
20
+
}
22
21
}
+3
-2
src/main/resources/data/infinity/recipe/f4_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/f4_from_portal.json
···
3
3
"input": {
4
4
"item": "infinity:f4"
5
5
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:f4"
8
8
-
},
9
9
-
"lore": "recipe_info.portal.infinity.attuned"
10
10
+
}
10
11
}
+1
-1
src/main/resources/data/infinity/recipe/fine_item.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/fine_item.json
···
15
15
"GGG"
16
16
],
17
17
"result": {
18
18
-
"id": "infinity:fine_item"
18
18
+
"item": "infinity:fine_item"
19
19
},
20
20
"show_notification": true
21
21
}
+1
-1
src/main/resources/data/infinity/recipe/footprint.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/footprint.json
···
13
13
],
14
14
"result": {
15
15
"count": 8,
16
16
-
"id": "infinity:footprint"
16
16
+
"item": "infinity:footprint"
17
17
},
18
18
"show_notification": true
19
19
}
+3
-2
src/main/resources/data/infinity/recipe/iridescence_bottle_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/iridescence_bottle_from_portal.json
···
3
3
"input": {
4
4
"item": "infinity:chromatic_potion"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:iridescent_potion"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/iridescent_carpet.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/iridescent_carpet.json
···
3
3
"input": {
4
4
"item": "infinity:chromatic_carpet"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:iridescent_carpet"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+2
-2
src/main/resources/data/infinity/recipe/iridescent_carpet_from_wool.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/iridescent_carpet_from_wool.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"#": {
5
5
+
"B": {
6
6
"item": "infinity:iridescent_wool"
7
7
}
8
8
},
9
9
"pattern": [
10
10
-
"## "
10
10
+
"BB"
11
11
],
12
12
"result": {
13
13
"count": 3,
+3
-2
src/main/resources/data/infinity/recipe/iridescent_star.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/iridescent_star.json
···
3
3
"input": {
4
4
"item": "infinity:star_of_lang"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:iridescent_star"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/iridescent_wool.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/iridescent_wool.json
···
3
3
"input": {
4
4
"item": "infinity:chromatic_wool"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:iridescent_wool"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/key_from_iridescence.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/key_from_iridescence.json
···
3
3
"input": {
4
4
"item": "infinity:key"
5
5
},
6
6
+
"lore": "recipe_info.iridescence.infinity.key",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:key"
8
8
-
},
9
9
-
"lore": "recipe_info.iridescence.infinity.key"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/key_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/key_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:amethyst_shard"
5
5
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:key"
8
8
-
},
9
9
-
"lore": "recipe_info.portal.infinity.attuned"
10
10
+
}
10
11
}
src/main/resources/data/infinity/recipe/netherite_slab.json
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/netherite_slab.json
-9
src/main/resources/data/infinity/recipe/netherite_slab_from_stonecutting.json
···
1
1
-
{
2
2
-
"type": "minecraft:stonecutting",
3
3
-
"ingredient": {
4
4
-
"item": "minecraft:netherite_block"
5
5
-
},
6
6
-
"result": {
7
7
-
"count": 2,
8
8
-
"id": "infinity:netherite_slab"
9
9
-
}}
src/main/resources/data/infinity/recipe/netherite_stairs.json
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/netherite_stairs.json
-10
src/main/resources/data/infinity/recipe/netherite_stairs_from_stonecutting.json
···
1
1
-
{
2
2
-
"type": "minecraft:stonecutting",
3
3
-
"ingredient": {
4
4
-
"item": "minecraft:netherite_block"
5
5
-
},
6
6
-
"result": {
7
7
-
"count": 1,
8
8
-
"id": "infinity:netherite_stairs"
9
9
-
}
10
10
-
}
+3
-2
src/main/resources/data/infinity/recipe/notes_block_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/notes_block_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:note_block"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:notes_block"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+3
-2
src/main/resources/data/infinity/recipe/timebomb_from_portal.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/timebomb_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:tnt"
5
5
},
6
6
+
"lore": "empty",
6
7
"output": {
8
8
+
"count": 1,
7
9
"id": "infinity:timebomb"
8
8
-
},
9
9
-
"lore": "empty"
10
10
+
}
10
11
}
+2
-2
src/main/resources/data/infinity/recipe/white_matter.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/white_matter.json
···
12
12
"BBB"
13
13
],
14
14
"result": {
15
15
+
"count": 1,
15
16
"id": "infinity:white_matter"
16
16
-
},
17
17
-
"show_notification": true
17
17
+
}
18
18
}
src/main/resources/data/infinity/tags/block/iridescent.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/tags/block/iridescent.json
+3
-3
src/main/resources/data/infinity/tags/item/iridescent.json
versions/1.21.8-fabric/src/main/generated/data/infinity/tags/item/iridescent.json
···
2
2
"values": [
3
3
"infinity:iridescent_wool",
4
4
"infinity:iridescent_carpet",
5
5
-
"infinity:iridescent_star",
6
5
"infinity:iridescence_bucket",
7
7
-
"infinity:cosmic_altar",
6
6
+
"infinity:iridescent_star",
7
7
+
"infinity:iridescent_potion",
8
8
"infinity:chromatic_potion",
9
9
-
"infinity:iridescent_potion"
9
9
+
"infinity:cosmic_altar"
10
10
]
11
11
}
-7
src/main/resources/data/infinity/tags/item/matter.json
···
1
1
-
{
2
2
-
"values": [
3
3
-
"infinity:white_matter",
4
4
-
"infinity:black_matter",
5
5
-
"infinity:chromatic_matter"
6
6
-
]
7
7
-
}
src/main/resources/data/minecraft/tags/block/mineable/axe.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/mineable/axe.json
src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json
src/main/resources/data/minecraft/tags/block/portals.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/portals.json
src/main/resources/data/minecraft/tags/block/slabs.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/slabs.json
src/main/resources/data/minecraft/tags/block/stairs.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/stairs.json
src/main/resources/data/minecraft/tags/block/wool.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/wool.json
src/main/resources/data/minecraft/tags/block/wool_carpets.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/blocks/wool_carpets.json
-1
src/main/resources/data/minecraft/tags/entity_type/arthropod.json
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/entity_type/arthropod.json
···
1
1
{
2
2
-
"replace": false,
3
2
"values": [
4
3
"infinity:ant"
5
4
]
src/main/resources/data/minecraft/tags/entity_type/frog_food.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/entity_types/frog_food.json
src/main/resources/data/minecraft/tags/entity_type/skeletons.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/entity_types/skeletons.json
+1
-2
src/main/resources/data/minecraft/tags/fluid/water.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/fluids/water.json
···
1
1
{
2
2
"replace": false,
3
3
-
"values":
4
4
-
[
3
3
+
"values": [
5
4
"infinity:flowing_iridescence",
6
5
"infinity:iridescence"
7
6
]
src/main/resources/data/minecraft/tags/item/wool.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/items/wool.json
src/main/resources/data/minecraft/tags/item/wool_carpets.json
versions/1.20.1-fabric/src/main/generated/data/minecraft/tags/items/wool_carpets.json
+3
src/main/resources/fabric.mod.json
···
29
29
],
30
30
"rrv": [
31
31
"net.lerariemann.infinity.compat.rrv.RrvIntegration"
32
32
+
],
33
33
+
"fabric-datagen": [
34
34
+
"net.lerariemann.infinity.data.InfinityDataGenerator"
32
35
]
33
36
},
34
37
"mixins": [
+7
-6
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/ant.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/ant.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:ant"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+8
-7
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/book_box.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/book_box.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:book_box"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
19
-
}
20
20
+
}
+7
-6
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/cosmic_altar.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/cosmic_altar.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:cosmic_altar"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+7
-6
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/cursor.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/cursor.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:cursor"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+7
-6
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/iridescent_carpet.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_carpet.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:iridescent_carpet"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+1
-2
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/iridescent_kelp.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp.json
···
16
16
],
17
17
"rolls": 1.0
18
18
}
19
19
-
],
20
20
-
"random_sequence": "minecraft:blocks/kelp"
19
19
+
]
21
20
}
+1
-2
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/iridescent_kelp_plant.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp_plant.json
···
16
16
],
17
17
"rolls": 1.0
18
18
}
19
19
-
],
20
20
-
"random_sequence": "minecraft:blocks/kelp"
19
19
+
]
21
20
}
+7
-6
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/iridescent_wool.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_wool.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:iridescent_wool"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+8
-7
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/netherite_slab.json
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/cursor.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
9
-
"name": "infinity:netherite_slab"
14
14
+
"name": "infinity:cursor"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+7
-6
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/netherite_stairs.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/netherite_stairs.json
···
2
2
"type": "minecraft:block",
3
3
"pools": [
4
4
{
5
5
-
"rolls": 1,
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
6
11
"entries": [
7
12
{
8
13
"type": "minecraft:item",
9
14
"name": "infinity:netherite_stairs"
10
15
}
11
16
],
12
12
-
"conditions": [
13
13
-
{
14
14
-
"condition": "minecraft:survives_explosion"
15
15
-
}
16
16
-
]
17
17
+
"rolls": 1.0
17
18
}
18
19
]
19
20
}
+1
-2
src/main/resources/resourcepacks/20/data/infinity/loot_tables/blocks/notes_block.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/loot_table/blocks/notes_block.json
···
16
16
],
17
17
"rolls": 1.0
18
18
}
19
19
-
],
20
20
-
"random_sequence": "minecraft:blocks/note_block"
19
19
+
]
21
20
}
+1
-1
src/main/resources/resourcepacks/20/data/infinity/recipes/altar.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/altar.json
···
12
12
"pattern": [
13
13
"SSS",
14
14
" B ",
15
15
-
" S "
15
15
+
" B "
16
16
],
17
17
"result": {
18
18
"item": "infinity:altar"
src/main/resources/resourcepacks/20/data/infinity/recipes/altar_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/altar_from_portal.json
+3
-3
src/main/resources/resourcepacks/20/data/infinity/recipes/ant.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/ant.json
···
5
5
"B": {
6
6
"item": "minecraft:black_concrete"
7
7
},
8
8
-
"W": {
9
9
-
"item": "minecraft:white_concrete"
10
10
-
},
11
8
"M": {
12
9
"item": "infinity:star_of_lang"
10
10
+
},
11
11
+
"W": {
12
12
+
"item": "minecraft:white_concrete"
13
13
}
14
14
},
15
15
"pattern": [
+2
-2
src/main/resources/resourcepacks/20/data/infinity/recipes/ant1.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/ant1.json
···
3
3
"category": "building",
4
4
"key": {
5
5
"B": {
6
6
-
"item": "infinity:black_matter"
6
6
+
"item": "minecraft:black_concrete"
7
7
},
8
8
"W": {
9
9
-
"item": "infinity:white_matter"
9
9
+
"item": "minecraft:white_concrete"
10
10
}
11
11
},
12
12
"pattern": [
src/main/resources/resourcepacks/20/data/infinity/recipes/biome_bottle_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/biome_bottle_from_portal.json
src/main/resources/resourcepacks/20/data/infinity/recipes/black_matter.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/black_matter.json
src/main/resources/resourcepacks/20/data/infinity/recipes/book_box_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/book_box_from_portal.json
+1
src/main/resources/resourcepacks/20/data/infinity/recipes/chromatic_carpet.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/chromatic_carpet_from_portal.json
···
3
3
"input": {
4
4
"tag": "minecraft:wool_carpets"
5
5
},
6
6
+
"lore": "recipe_info.portal.infinity.color",
6
7
"output": {
7
8
"item": "infinity:chromatic_carpet"
8
9
}
src/main/resources/resourcepacks/20/data/infinity/recipes/chromatic_coloring_carpet.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/chromatic_carpet.json
src/main/resources/resourcepacks/20/data/infinity/recipes/chromatic_coloring_wool.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/chromatic_wool.json
src/main/resources/resourcepacks/20/data/infinity/recipes/chromatic_matter.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/chromatic_matter_from_portal.json
src/main/resources/resourcepacks/20/data/infinity/recipes/chromatic_wool.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/chromatic_wool_from_portal.json
+3
-4
src/main/resources/resourcepacks/20/data/infinity/recipes/cosmic_altar.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/cosmic_altar.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "misc",
4
4
"key": {
5
5
-
"L": {
6
6
-
"item": "minecraft:lodestone"
7
7
-
},
8
5
"A": {
9
6
"item": "infinity:altar"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lodestone"
10
10
},
11
11
"S": {
12
12
"item": "infinity:iridescent_star"
···
18
18
"LAL"
19
19
],
20
20
"result": {
21
21
-
"count": 1,
22
21
"item": "infinity:cosmic_altar"
23
22
},
24
23
"show_notification": true
+3
-3
src/main/resources/resourcepacks/20/data/infinity/recipes/cursor.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/cursor.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"L": {
6
6
-
"item": "minecraft:lime_concrete"
7
7
-
},
8
5
"B": {
9
6
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lime_concrete"
10
10
},
11
11
"S": {
12
12
"item": "infinity:star_of_lang"
-1
src/main/resources/resourcepacks/20/data/infinity/recipes/f4.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/f4.json
···
15
15
"OOO"
16
16
],
17
17
"result": {
18
18
-
"count": 1,
19
18
"item": "infinity:f4"
20
19
},
21
20
"show_notification": true
+1
src/main/resources/resourcepacks/20/data/infinity/recipes/f4_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/f4_from_portal.json
···
3
3
"input": {
4
4
"item": "infinity:f4"
5
5
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
6
7
"output": {
7
8
"item": "infinity:f4"
8
9
}
src/main/resources/resourcepacks/20/data/infinity/recipes/fine_item.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/fine_item.json
src/main/resources/resourcepacks/20/data/infinity/recipes/footprint.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/footprint.json
src/main/resources/resourcepacks/20/data/infinity/recipes/iridescence_bottle_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/iridescent_potion_from_portal.json
src/main/resources/resourcepacks/20/data/infinity/recipes/iridescent_carpet.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/iridescent_carpet_from_iridescence.json
+4
-3
src/main/resources/resourcepacks/20/data/infinity/recipes/iridescent_carpet_from_wool.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/iridescent_carpet_from_wool.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"#": {
5
5
+
"B": {
6
6
"item": "infinity:iridescent_wool"
7
7
}
8
8
},
9
9
"pattern": [
10
10
-
"## "
10
10
+
"BB"
11
11
],
12
12
"result": {
13
13
"count": 3,
14
14
"item": "infinity:iridescent_carpet"
15
15
-
}
15
15
+
},
16
16
+
"show_notification": true
16
17
}
src/main/resources/resourcepacks/20/data/infinity/recipes/iridescent_star.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/iridescent_star_from_iridescence.json
src/main/resources/resourcepacks/20/data/infinity/recipes/iridescent_wool.json
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/iridescent_wool_from_iridescence.json
+1
src/main/resources/resourcepacks/20/data/infinity/recipes/key_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/key_from_portal.json
···
3
3
"input": {
4
4
"item": "minecraft:amethyst_shard"
5
5
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
6
7
"output": {
7
8
"item": "infinity:key"
8
9
}
+2
-1
src/main/resources/resourcepacks/20/data/infinity/recipes/netherite_slab.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/netherite_slab.json
···
12
12
"result": {
13
13
"count": 6,
14
14
"item": "infinity:netherite_slab"
15
15
-
}
15
15
+
},
16
16
+
"show_notification": true
16
17
}
-8
src/main/resources/resourcepacks/20/data/infinity/recipes/netherite_slab_from_stonecutting.json
···
1
1
-
{
2
2
-
"type": "minecraft:stonecutting",
3
3
-
"count": 2,
4
4
-
"ingredient": {
5
5
-
"item": "minecraft:netherite_block"
6
6
-
},
7
7
-
"result": "infinity:netherite_slab"
8
8
-
}
+2
-1
src/main/resources/resourcepacks/20/data/infinity/recipes/netherite_stairs.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/netherite_stairs.json
···
14
14
"result": {
15
15
"count": 4,
16
16
"item": "infinity:netherite_stairs"
17
17
-
}
17
17
+
},
18
18
+
"show_notification": true
18
19
}
-8
src/main/resources/resourcepacks/20/data/infinity/recipes/netherite_stairs_from_stonecutting.json
···
1
1
-
{
2
2
-
"type": "minecraft:stonecutting",
3
3
-
"count": 1,
4
4
-
"ingredient": {
5
5
-
"item": "minecraft:netherite_block"
6
6
-
},
7
7
-
"result": "infinity:netherite_stairs"
8
8
-
}
src/main/resources/resourcepacks/20/data/infinity/recipes/notes_block_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/notes_block_from_portal.json
src/main/resources/resourcepacks/20/data/infinity/recipes/timebomb_from_portal.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/timebomb_from_portal.json
src/main/resources/resourcepacks/20/data/infinity/recipes/white_matter.json
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/white_matter.json
src/main/resources/resourcepacks/20/data/infinity/tags/blocks/iridescent.json
versions/1.21.8-fabric/src/main/generated/data/infinity/tags/block/iridescent.json
+3
-3
src/main/resources/resourcepacks/20/data/infinity/tags/items/iridescent.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/tags/item/iridescent.json
···
2
2
"values": [
3
3
"infinity:iridescent_wool",
4
4
"infinity:iridescent_carpet",
5
5
-
"infinity:iridescent_star",
6
5
"infinity:iridescence_bucket",
7
7
-
"infinity:cosmic_altar",
6
6
+
"infinity:iridescent_star",
7
7
+
"infinity:iridescent_potion",
8
8
"infinity:chromatic_potion",
9
9
-
"infinity:iridescent_potion"
9
9
+
"infinity:cosmic_altar"
10
10
]
11
11
}
-7
src/main/resources/resourcepacks/20/data/infinity/tags/items/matter.json
···
1
1
-
{
2
2
-
"values": [
3
3
-
"infinity:white_matter",
4
4
-
"infinity:black_matter",
5
5
-
"infinity:chromatic_matter"
6
6
-
]
7
7
-
}
src/main/resources/resourcepacks/20/data/minecraft/tags/blocks/mineable/axe.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/mineable/axe.json
src/main/resources/resourcepacks/20/data/minecraft/tags/blocks/mineable/pickaxe.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json
src/main/resources/resourcepacks/20/data/minecraft/tags/blocks/wool.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/wool.json
src/main/resources/resourcepacks/20/data/minecraft/tags/blocks/wool_carpets.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/wool_carpets.json
-1
src/main/resources/resourcepacks/20/data/minecraft/tags/entity_types/arthropod.json
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/entity_type/arthropod.json
···
1
1
{
2
2
-
"replace": false,
3
2
"values": [
4
3
"infinity:ant"
5
4
]
src/main/resources/resourcepacks/20/data/minecraft/tags/entity_types/frog_food.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/entity_types/frog_food.json
src/main/resources/resourcepacks/20/data/minecraft/tags/entity_types/skeletons.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/entity_types/skeletons.json
+1
-2
src/main/resources/resourcepacks/20/data/minecraft/tags/fluids/water.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/fluids/water.json
···
1
1
{
2
2
"replace": false,
3
3
-
"values":
4
4
-
[
3
3
+
"values": [
5
4
"infinity:flowing_iridescence",
6
5
"infinity:iridescence"
7
6
]
src/main/resources/resourcepacks/20/data/minecraft/tags/items/wool.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/items/wool.json
src/main/resources/resourcepacks/20/data/minecraft/tags/items/wool_carpets.json
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/items/wool_carpets.json
+3
-3
src/main/resources/resourcepacks/22/data/infinity/recipe/altar.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/altar.json
···
8
8
"pattern": [
9
9
"SSS",
10
10
" B ",
11
11
-
" S "
11
11
+
" B "
12
12
],
13
13
"result": {
14
14
+
"count": 1,
14
15
"id": "infinity:altar"
15
15
-
},
16
16
-
"show_notification": true
16
16
+
}
17
17
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/altar_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/altar_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "minecraft:lectern",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:altar"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
-18
src/main/resources/resourcepacks/22/data/infinity/recipe/ant.json
···
1
1
-
{
2
2
-
"type": "minecraft:crafting_shaped",
3
3
-
"category": "building",
4
4
-
"key": {
5
5
-
"B": "minecraft:black_concrete",
6
6
-
"W": "minecraft:white_concrete",
7
7
-
"M": "infinity:star_of_lang"
8
8
-
},
9
9
-
"pattern": [
10
10
-
"WBW",
11
11
-
"BMB",
12
12
-
"WBW"
13
13
-
],
14
14
-
"result": {
15
15
-
"id": "infinity:ant"
16
16
-
},
17
17
-
"show_notification": true
18
18
-
}
+4
-4
src/main/resources/resourcepacks/22/data/infinity/recipe/ant1.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/ant1.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"B": "infinity:black_matter",
6
6
-
"W": "infinity:white_matter"
5
5
+
"B": "minecraft:black_concrete",
6
6
+
"W": "minecraft:white_concrete"
7
7
},
8
8
"pattern": [
9
9
"WBW",
···
11
11
"WBW"
12
12
],
13
13
"result": {
14
14
+
"count": 1,
14
15
"id": "infinity:ant"
15
15
-
},
16
16
-
"show_notification": true
16
16
+
}
17
17
}
-4
src/main/resources/resourcepacks/22/data/infinity/recipe/biome_bottle_combining.json
···
1
1
-
{
2
2
-
"type": "infinity:biome_bottle_combining",
3
3
-
"category": "misc"
4
4
-
}
-8
src/main/resources/resourcepacks/22/data/infinity/recipe/biome_bottle_from_portal.json
···
1
1
-
{
2
2
-
"type": "infinity:collision_portal",
3
3
-
"input": "minecraft:glass_bottle",
4
4
-
"output": {
5
5
-
"id": "infinity:biome_bottle"
6
6
-
},
7
7
-
"lore": "empty"
8
8
-
}
+3
-3
src/main/resources/resourcepacks/22/data/infinity/recipe/black_matter.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/black_matter.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "misc",
4
4
"key": {
5
5
-
"B": "minecraft:black_concrete"
5
5
+
"B": "minecraft:black_concrete"
6
6
},
7
7
"pattern": [
8
8
"BBB",
···
10
10
"BBB"
11
11
],
12
12
"result": {
13
13
+
"count": 1,
13
14
"id": "infinity:black_matter"
14
14
-
},
15
15
-
"show_notification": true
15
15
+
}
16
16
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/book_box_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/book_box_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "minecraft:bookshelf",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:book_box"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
-8
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_carpet.json
···
1
1
-
{
2
2
-
"type": "infinity:collision_portal",
3
3
-
"input":"#minecraft:wool_carpets",
4
4
-
"output": {
5
5
-
"id": "infinity:chromatic_carpet"
6
6
-
},
7
7
-
"lore": "recipe_info.portal.infinity.color"
8
8
-
}
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_carpet_from_wool.json
src/main/resources/resourcepacks/20/data/infinity/recipes/chromatic_carpet_from_wool.json
+2
-1
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_coloring_carpet.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/chromatic_coloring_carpet.json
···
1
1
{
2
2
"type": "infinity:chromatic_coloring",
3
3
-
"input":"#minecraft:wool_carpets",
3
3
+
"input": "#minecraft:wool_carpets",
4
4
"output": {
5
5
+
"count": 1,
5
6
"id": "infinity:chromatic_carpet"
6
7
}
7
8
}
+1
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_coloring_wool.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/chromatic_coloring_wool.json
···
2
2
"type": "infinity:chromatic_coloring",
3
3
"input": "#minecraft:wool",
4
4
"output": {
5
5
+
"count": 1,
5
6
"id": "infinity:chromatic_wool"
6
7
}
7
8
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_matter.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/chromatic_matter.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "#infinity:matter",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:chromatic_matter"
6
6
-
},
7
7
-
"lore": "recipe_info.portal.infinity.color"
8
8
+
}
8
9
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_matter_from_iridescence.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/chromatic_matter_from_iridescence.json
···
1
1
{
2
2
"type": "infinity:collision_iridescence",
3
3
"input": "infinity:chromatic_matter",
4
4
+
"lore": "recipe_info.iridescence.infinity.chromatic_matter",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:chromatic_matter"
6
6
-
},
7
7
-
"lore": "recipe_info.iridescence.infinity.chromatic_matter"
8
8
+
}
8
9
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/chromatic_wool.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/chromatic_wool.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "#minecraft:wool",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:chromatic_wool"
6
6
-
},
7
7
-
"lore": "recipe_info.portal.infinity.color"
8
8
+
}
8
9
}
+2
-3
src/main/resources/resourcepacks/22/data/infinity/recipe/cosmic_altar.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/cosmic_altar.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "misc",
4
4
"key": {
5
5
-
"L": "minecraft:lodestone",
6
5
"A": "infinity:altar",
6
6
+
"L": "minecraft:lodestone",
7
7
"S": "infinity:iridescent_star"
8
8
},
9
9
"pattern": [
···
14
14
"result": {
15
15
"count": 1,
16
16
"id": "infinity:cosmic_altar"
17
17
-
},
18
18
-
"show_notification": true
17
17
+
}
19
18
}
+2
-3
src/main/resources/resourcepacks/22/data/infinity/recipe/cursor.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/cursor.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"L": "minecraft:lime_concrete",
6
5
"B": "minecraft:black_concrete",
6
6
+
"L": "minecraft:lime_concrete",
7
7
"S": "infinity:star_of_lang"
8
8
},
9
9
"pattern": [
···
14
14
"result": {
15
15
"count": 8,
16
16
"id": "infinity:cursor"
17
17
-
},
18
18
-
"show_notification": true
17
17
+
}
19
18
}
+2
-3
src/main/resources/resourcepacks/22/data/infinity/recipe/f4.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/f4.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "misc",
4
4
"key": {
5
5
-
"O": "minecraft:obsidian",
5
5
+
"O": "minecraft:obsidian",
6
6
"S": "infinity:iridescent_star"
7
7
},
8
8
"pattern": [
···
13
13
"result": {
14
14
"count": 1,
15
15
"id": "infinity:f4"
16
16
-
},
17
17
-
"show_notification": true
16
16
+
}
18
17
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/f4_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/f4_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "infinity:f4",
4
4
+
"lore": "recipe_info.portal.infinity.attuned",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:f4"
6
6
-
},
7
7
-
"lore": "recipe_info.portal.infinity.attuned"
8
8
+
}
8
9
}
-4
src/main/resources/resourcepacks/22/data/infinity/recipe/f4_recharging.json
···
1
1
-
{
2
2
-
"type": "infinity:f4_recharging",
3
3
-
"category": "misc"
4
4
-
}
+2
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/fine_item.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/fine_item.json
···
11
11
"GGG"
12
12
],
13
13
"result": {
14
14
+
"count": 1,
14
15
"id": "infinity:fine_item"
15
15
-
},
16
16
-
"show_notification": true
16
16
+
}
17
17
}
+1
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/footprint.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/footprint.json
···
12
12
"result": {
13
13
"count": 8,
14
14
"id": "infinity:footprint"
15
15
-
},
16
16
-
"show_notification": true
15
15
+
}
17
16
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/iridescence_bottle_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/iridescence_bottle_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "infinity:chromatic_potion",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:iridescent_potion"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/iridescent_carpet.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/iridescent_carpet.json
···
1
1
{
2
2
"type": "infinity:collision_iridescence",
3
3
"input": "infinity:chromatic_carpet",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:iridescent_carpet"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
+2
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/iridescent_carpet_from_wool.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/iridescent_carpet_from_wool.json
···
2
2
"type": "minecraft:crafting_shaped",
3
3
"category": "building",
4
4
"key": {
5
5
-
"#": "infinity:iridescent_wool"
5
5
+
"B": "infinity:iridescent_wool"
6
6
},
7
7
"pattern": [
8
8
-
"## "
8
8
+
"BB"
9
9
],
10
10
"result": {
11
11
"count": 3,
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/iridescent_star.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/iridescent_star.json
···
1
1
{
2
2
"type": "infinity:collision_iridescence",
3
3
"input": "infinity:star_of_lang",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:iridescent_star"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/iridescent_wool.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/iridescent_wool.json
···
1
1
{
2
2
"type": "infinity:collision_iridescence",
3
3
"input": "infinity:chromatic_wool",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:iridescent_wool"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
-8
src/main/resources/resourcepacks/22/data/infinity/recipe/key_from_iridescence.json
···
1
1
-
{
2
2
-
"type": "infinity:collision_iridescence",
3
3
-
"input": "infinity:key",
4
4
-
"output": {
5
5
-
"id": "infinity:key"
6
6
-
},
7
7
-
"lore": "recipe_info.iridescence.infinity.key"
8
8
-
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/key_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/key_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "minecraft:amethyst_shard",
4
4
+
"lore": "recipe_info.portal.infinity.attuned",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:key"
6
6
-
},
7
7
-
"lore": "recipe_info.portal.infinity.attuned"
8
8
+
}
8
9
}
src/main/resources/resourcepacks/22/data/infinity/recipe/netherite_slab.json
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/netherite_slab.json
-7
src/main/resources/resourcepacks/22/data/infinity/recipe/netherite_slab_from_stonecutting.json
···
1
1
-
{
2
2
-
"type": "minecraft:stonecutting",
3
3
-
"ingredient": "minecraft:netherite_block",
4
4
-
"result": {
5
5
-
"count": 2,
6
6
-
"id": "infinity:netherite_slab"
7
7
-
}}
src/main/resources/resourcepacks/22/data/infinity/recipe/netherite_stairs.json
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/netherite_stairs.json
-8
src/main/resources/resourcepacks/22/data/infinity/recipe/netherite_stairs_from_stonecutting.json
···
1
1
-
{
2
2
-
"type": "minecraft:stonecutting",
3
3
-
"ingredient": "minecraft:netherite_block",
4
4
-
"result": {
5
5
-
"count": 1,
6
6
-
"id": "infinity:netherite_stairs"
7
7
-
}
8
8
-
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/notes_block_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/notes_block_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "minecraft:note_block",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:notes_block"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
+3
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/timebomb_from_portal.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/timebomb_from_portal.json
···
1
1
{
2
2
"type": "infinity:collision_portal",
3
3
"input": "minecraft:tnt",
4
4
+
"lore": "empty",
4
5
"output": {
6
6
+
"count": 1,
5
7
"id": "infinity:timebomb"
6
6
-
},
7
7
-
"lore": "empty"
8
8
+
}
8
9
}
+2
-2
src/main/resources/resourcepacks/22/data/infinity/recipe/white_matter.json
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/white_matter.json
···
10
10
"BBB"
11
11
],
12
12
"result": {
13
13
+
"count": 1,
13
14
"id": "infinity:white_matter"
14
14
-
},
15
15
-
"show_notification": true
15
15
+
}
16
16
}
+1
-1
stonecutter.gradle.kts
···
7
7
id("me.modmuss50.mod-publish-plugin") version "0.8.+" apply false
8
8
}
9
9
10
10
-
stonecutter active "1.21.8-neoforge"
10
10
+
stonecutter active "1.21.8-fabric"
11
11
12
12
stonecutter parameters {
13
13
constants.match(node.metadata.project.substringAfterLast('-'), "fabric", "forge", "neoforge")
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/ant.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:ant"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:ant"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/ant1.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:ant1"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:ant1"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/cursor.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:cursor"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:cursor"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_wool": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:iridescent_wool"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:iridescent_carpet_from_wool"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_iridescent_wool",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:iridescent_carpet_from_wool"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_slab": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:netherite_slab"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "minecraft:netherite_block_from_netherite_slab_stonecutting"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_slab",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"minecraft:netherite_block_from_netherite_slab_stonecutting"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_stairs": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:netherite_stairs"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "minecraft:netherite_block_from_netherite_stairs_stonecutting"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_stairs",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"minecraft:netherite_block_from_netherite_stairs_stonecutting"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_slab.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:netherite_block"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:netherite_slab"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_block",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:netherite_slab"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:netherite_block"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:netherite_stairs"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_block",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:netherite_stairs"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/misc/black_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_black_concrete": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:black_concrete"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:black_matter"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_black_concrete",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:black_matter"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/misc/cosmic_altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:iridescent_star"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:cosmic_altar"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_iridescent_star",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:cosmic_altar"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/misc/f4.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:iridescent_star"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:f4"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_iridescent_star",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:f4"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/misc/fine_item.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:fine_item"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:fine_item"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/misc/footprint.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_light_gray_stained_glass_pane": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:light_gray_stained_glass_pane"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:footprint"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_light_gray_stained_glass_pane",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:footprint"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/misc/white_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_the_recipe": {
5
5
+
"conditions": {
6
6
+
"recipe": "infinity:white_matter"
7
7
+
},
8
8
+
"trigger": "minecraft:recipe_unlocked"
9
9
+
},
10
10
+
"has_white_concrete": {
11
11
+
"conditions": {
12
12
+
"items": [
13
13
+
{
14
14
+
"items": [
15
15
+
"minecraft:white_concrete"
16
16
+
]
17
17
+
}
18
18
+
]
19
19
+
},
20
20
+
"trigger": "minecraft:inventory_changed"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_white_concrete",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:white_matter"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-fabric/src/main/generated/data/infinity/advancements/recipes/redstone/altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_book_box": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:book_box"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:altar"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_book_box",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:altar"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:ant"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/book_box.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:book_box"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:cosmic_altar"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/cursor.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:cursor"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/iridescent_carpet.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_carpet"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/iridescent_kelp.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/iridescent_kelp_plant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/iridescent_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_wool"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:netherite_stairs"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-fabric/src/main/generated/data/infinity/loot_tables/blocks/notes_block.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:notes_block"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/altar_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:lectern"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:altar"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/biome_bottle_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:glass_bottle"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:biome_bottle"
8
8
+
}
9
9
+
}
+18
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/black_matter.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BBB",
11
11
+
"B B",
12
12
+
"BBB"
13
13
+
],
14
14
+
"result": {
15
15
+
"item": "infinity:black_matter"
16
16
+
},
17
17
+
"show_notification": true
18
18
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/book_box_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:bookshelf"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:book_box"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/chromatic_carpet.json
···
1
1
+
{
2
2
+
"type": "infinity:chromatic_coloring",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool_carpets"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:chromatic_carpet"
8
8
+
}
9
9
+
}
+10
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/chromatic_carpet_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool_carpets"
5
5
+
},
6
6
+
"lore": "recipe_info.portal.infinity.color",
7
7
+
"output": {
8
8
+
"item": "infinity:chromatic_carpet"
9
9
+
}
10
10
+
}
+10
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/chromatic_matter_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_matter"
5
5
+
},
6
6
+
"lore": "recipe_info.iridescence.infinity.chromatic_matter",
7
7
+
"output": {
8
8
+
"item": "infinity:chromatic_matter"
9
9
+
}
10
10
+
}
+24
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"A": {
6
6
+
"item": "infinity:altar"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lodestone"
10
10
+
},
11
11
+
"S": {
12
12
+
"item": "infinity:iridescent_star"
13
13
+
}
14
14
+
},
15
15
+
"pattern": [
16
16
+
"LAL",
17
17
+
"ASA",
18
18
+
"LAL"
19
19
+
],
20
20
+
"result": {
21
21
+
"item": "infinity:cosmic_altar"
22
22
+
},
23
23
+
"show_notification": true
24
24
+
}
+21
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/f4.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"O": {
6
6
+
"item": "minecraft:obsidian"
7
7
+
},
8
8
+
"S": {
9
9
+
"item": "infinity:iridescent_star"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"OOO",
14
14
+
"OSO",
15
15
+
"OOO"
16
16
+
],
17
17
+
"result": {
18
18
+
"item": "infinity:f4"
19
19
+
},
20
20
+
"show_notification": true
21
21
+
}
+10
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/f4_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "infinity:f4"
5
5
+
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
7
7
+
"output": {
8
8
+
"item": "infinity:f4"
9
9
+
}
10
10
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/iridescent_carpet_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_carpet"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:iridescent_carpet"
8
8
+
}
9
9
+
}
+17
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "infinity:iridescent_wool"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BB"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 3,
14
14
+
"item": "infinity:iridescent_carpet"
15
15
+
},
16
16
+
"show_notification": true
17
17
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/iridescent_potion_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_potion"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:iridescent_potion"
8
8
+
}
9
9
+
}
+10
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/key_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:key"
5
5
+
},
6
6
+
"lore": "recipe_info.iridescence.infinity.key",
7
7
+
"output": {
8
8
+
"item": "infinity:key"
9
9
+
}
10
10
+
}
+10
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/key_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:amethyst_shard"
5
5
+
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
7
7
+
"output": {
8
8
+
"item": "infinity:key"
9
9
+
}
10
10
+
}
+8
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"count": 2,
4
4
+
"ingredient": {
5
5
+
"item": "infinity:netherite_slab"
6
6
+
},
7
7
+
"result": "minecraft:netherite_block"
8
8
+
}
+8
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"count": 1,
4
4
+
"ingredient": {
5
5
+
"item": "infinity:netherite_stairs"
6
6
+
},
7
7
+
"result": "minecraft:netherite_block"
8
8
+
}
+17
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/netherite_slab.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"#": {
6
6
+
"item": "minecraft:netherite_block"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"###"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 6,
14
14
+
"item": "infinity:netherite_slab"
15
15
+
},
16
16
+
"show_notification": true
17
17
+
}
+19
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"#": {
6
6
+
"item": "minecraft:netherite_block"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"# ",
11
11
+
"## ",
12
12
+
"###"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 4,
16
16
+
"item": "infinity:netherite_stairs"
17
17
+
},
18
18
+
"show_notification": true
19
19
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/notes_block_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:note_block"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:notes_block"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/timebomb_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:tnt"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:timebomb"
8
8
+
}
9
9
+
}
+18
versions/1.20.1-fabric/src/main/generated/data/infinity/recipes/white_matter.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:white_concrete"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BBB",
11
11
+
"B B",
12
12
+
"BBB"
13
13
+
],
14
14
+
"result": {
15
15
+
"item": "infinity:white_matter"
16
16
+
},
17
17
+
"show_notification": true
18
18
+
}
+9
versions/1.20.1-fabric/src/main/generated/data/infinity/tags/blocks/iridescent.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:iridescent_wool",
5
5
+
"infinity:iridescent_carpet",
6
6
+
"infinity:iridescence",
7
7
+
"infinity:cosmic_altar"
8
8
+
]
9
9
+
}
+12
versions/1.20.1-fabric/src/main/generated/data/infinity/tags/items/iridescent.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:iridescent_wool",
5
5
+
"infinity:iridescent_carpet",
6
6
+
"infinity:iridescence_bucket",
7
7
+
"infinity:iridescent_star",
8
8
+
"infinity:iridescent_potion",
9
9
+
"infinity:chromatic_potion",
10
10
+
"infinity:cosmic_altar"
11
11
+
]
12
12
+
}
+8
versions/1.20.1-fabric/src/main/generated/data/infinity/tags/items/matter.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:black_matter",
5
5
+
"infinity:chromatic_matter",
6
6
+
"infinity:white_matter"
7
7
+
]
8
8
+
}
+6
versions/1.20.1-forge/src/main/generated/data/c/tags/items/buckets.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:iridescence_bucket"
5
5
+
]
6
6
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/ant.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:ant"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:ant"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/ant1.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:ant1"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:ant1"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/cursor.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:cursor"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:cursor"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_wool": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:iridescent_wool"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:iridescent_carpet_from_wool"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_iridescent_wool",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:iridescent_carpet_from_wool"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_slab": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:netherite_slab"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "minecraft:netherite_block_from_netherite_slab_stonecutting"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_slab",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"minecraft:netherite_block_from_netherite_slab_stonecutting"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_stairs": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:netherite_stairs"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "minecraft:netherite_block_from_netherite_stairs_stonecutting"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_stairs",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"minecraft:netherite_block_from_netherite_stairs_stonecutting"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_slab.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:netherite_block"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:netherite_slab"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_block",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:netherite_slab"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/building_blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:netherite_block"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:netherite_stairs"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_netherite_block",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:netherite_stairs"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/misc/black_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_black_concrete": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:black_concrete"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:black_matter"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_black_concrete",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:black_matter"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/misc/cosmic_altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:iridescent_star"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:cosmic_altar"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_iridescent_star",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:cosmic_altar"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/misc/f4.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:iridescent_star"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:f4"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_iridescent_star",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:f4"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/misc/fine_item.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:star_of_lang"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:fine_item"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_star_of_lang",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:fine_item"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/misc/footprint.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_light_gray_stained_glass_pane": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"minecraft:light_gray_stained_glass_pane"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:footprint"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_light_gray_stained_glass_pane",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:footprint"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/misc/white_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_the_recipe": {
5
5
+
"conditions": {
6
6
+
"recipe": "infinity:white_matter"
7
7
+
},
8
8
+
"trigger": "minecraft:recipe_unlocked"
9
9
+
},
10
10
+
"has_white_concrete": {
11
11
+
"conditions": {
12
12
+
"items": [
13
13
+
{
14
14
+
"items": [
15
15
+
"minecraft:white_concrete"
16
16
+
]
17
17
+
}
18
18
+
]
19
19
+
},
20
20
+
"trigger": "minecraft:inventory_changed"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_white_concrete",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:white_matter"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+35
versions/1.20.1-forge/src/main/generated/data/infinity/advancements/recipes/redstone/altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_book_box": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": [
9
9
+
"infinity:book_box"
10
10
+
]
11
11
+
}
12
12
+
]
13
13
+
},
14
14
+
"trigger": "minecraft:inventory_changed"
15
15
+
},
16
16
+
"has_the_recipe": {
17
17
+
"conditions": {
18
18
+
"recipe": "infinity:altar"
19
19
+
},
20
20
+
"trigger": "minecraft:recipe_unlocked"
21
21
+
}
22
22
+
},
23
23
+
"requirements": [
24
24
+
[
25
25
+
"has_book_box",
26
26
+
"has_the_recipe"
27
27
+
]
28
28
+
],
29
29
+
"rewards": {
30
30
+
"recipes": [
31
31
+
"infinity:altar"
32
32
+
]
33
33
+
},
34
34
+
"sends_telemetry_event": false
35
35
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:ant"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/book_box.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:book_box"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:cosmic_altar"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/cursor.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:cursor"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/iridescent_carpet.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_carpet"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/iridescent_kelp.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/iridescent_kelp_plant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/iridescent_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_wool"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:netherite_stairs"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.20.1-forge/src/main/generated/data/infinity/loot_tables/blocks/notes_block.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:notes_block"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+10
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/chromatic_matter_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_matter"
5
5
+
},
6
6
+
"lore": "recipe_info.iridescence.infinity.chromatic_matter",
7
7
+
"output": {
8
8
+
"item": "infinity:chromatic_matter"
9
9
+
}
10
10
+
}
+9
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/chromatic_matter_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"tag": "infinity:matter"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:chromatic_matter"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/chromatic_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:chromatic_coloring",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:chromatic_wool"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/chromatic_wool_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:chromatic_wool"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/iridescent_star_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:star_of_lang"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:iridescent_star"
8
8
+
}
9
9
+
}
+9
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/iridescent_wool_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_wool"
5
5
+
},
6
6
+
"output": {
7
7
+
"item": "infinity:iridescent_wool"
8
8
+
}
9
9
+
}
+10
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/key_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:key"
5
5
+
},
6
6
+
"lore": "recipe_info.iridescence.infinity.key",
7
7
+
"output": {
8
8
+
"item": "infinity:key"
9
9
+
}
10
10
+
}
+8
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"count": 2,
4
4
+
"ingredient": {
5
5
+
"item": "infinity:netherite_slab"
6
6
+
},
7
7
+
"result": "minecraft:netherite_block"
8
8
+
}
+8
versions/1.20.1-forge/src/main/generated/data/infinity/recipes/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"count": 1,
4
4
+
"ingredient": {
5
5
+
"item": "infinity:netherite_stairs"
6
6
+
},
7
7
+
"result": "minecraft:netherite_block"
8
8
+
}
+9
versions/1.20.1-forge/src/main/generated/data/infinity/tags/blocks/iridescent.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:iridescent_wool",
5
5
+
"infinity:iridescent_carpet",
6
6
+
"infinity:iridescence",
7
7
+
"infinity:cosmic_altar"
8
8
+
]
9
9
+
}
+12
versions/1.20.1-forge/src/main/generated/data/infinity/tags/items/iridescent.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:iridescent_wool",
5
5
+
"infinity:iridescent_carpet",
6
6
+
"infinity:iridescence_bucket",
7
7
+
"infinity:iridescent_star",
8
8
+
"infinity:iridescent_potion",
9
9
+
"infinity:chromatic_potion",
10
10
+
"infinity:cosmic_altar"
11
11
+
]
12
12
+
}
+8
versions/1.20.1-forge/src/main/generated/data/infinity/tags/items/matter.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:black_matter",
5
5
+
"infinity:chromatic_matter",
6
6
+
"infinity:white_matter"
7
7
+
]
8
8
+
}
+6
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/portals.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:neither_portal"
5
5
+
]
6
6
+
}
+6
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/slabs.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:netherite_slab"
5
5
+
]
6
6
+
}
+6
versions/1.20.1-forge/src/main/generated/data/minecraft/tags/blocks/stairs.json
···
1
1
+
{
2
2
+
"replace": false,
3
3
+
"values": [
4
4
+
"infinity:netherite_stairs"
5
5
+
]
6
6
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/c/tags/item/buckets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescence_bucket"
4
4
+
]
5
5
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant1.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant1"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant1"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/cursor.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cursor"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cursor"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_wool": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_wool"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:iridescent_carpet_from_wool"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_wool"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:iridescent_carpet_from_wool"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_slab": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_slab"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_slab_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_slab"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_slab_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_stairs": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_stairs"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_stairs_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_stairs"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_stairs_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_slab.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_slab"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_slab"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_stairs"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_stairs"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/misc/black_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_black_concrete": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:black_concrete"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:black_matter"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_black_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:black_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/misc/cosmic_altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cosmic_altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cosmic_altar"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/misc/f4.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:f4"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:f4"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/misc/fine_item.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:fine_item"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:fine_item"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/misc/footprint.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_light_gray_stained_glass_pane": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:light_gray_stained_glass_pane"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:footprint"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_light_gray_stained_glass_pane"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:footprint"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/misc/white_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_the_recipe": {
5
5
+
"conditions": {
6
6
+
"recipe": "infinity:white_matter"
7
7
+
},
8
8
+
"trigger": "minecraft:recipe_unlocked"
9
9
+
},
10
10
+
"has_white_concrete": {
11
11
+
"conditions": {
12
12
+
"items": [
13
13
+
{
14
14
+
"items": "minecraft:white_concrete"
15
15
+
}
16
16
+
]
17
17
+
},
18
18
+
"trigger": "minecraft:inventory_changed"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_white_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:white_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-fabric/src/main/generated/data/infinity/advancement/recipes/redstone/altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_book_box": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:book_box"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_book_box"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:altar"
30
30
+
]
31
31
+
}
32
32
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:ant"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/book_box.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:book_box"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:cosmic_altar"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_carpet.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_carpet"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp_plant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/iridescent_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_wool"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:netherite_stairs"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-fabric/src/main/generated/data/infinity/loot_table/blocks/notes_block.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:notes_block"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+21
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "redstone",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "infinity:book_box"
7
7
+
},
8
8
+
"S": {
9
9
+
"item": "minecraft:stone_slab"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"SSS",
14
14
+
" B ",
15
15
+
" B "
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:altar"
20
20
+
}
21
21
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/altar_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:lectern"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:altar"
10
10
+
}
11
11
+
}
+24
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"M": {
9
9
+
"item": "infinity:star_of_lang"
10
10
+
},
11
11
+
"W": {
12
12
+
"item": "minecraft:white_concrete"
13
13
+
}
14
14
+
},
15
15
+
"pattern": [
16
16
+
"WBW",
17
17
+
"BMB",
18
18
+
"WBW"
19
19
+
],
20
20
+
"result": {
21
21
+
"count": 1,
22
22
+
"id": "infinity:ant"
23
23
+
}
24
24
+
}
+21
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/ant1.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"W": {
9
9
+
"item": "minecraft:white_concrete"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"WBW",
14
14
+
"B B",
15
15
+
"WBW"
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:ant"
20
20
+
}
21
21
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/biome_bottle_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:glass_bottle"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:biome_bottle"
10
10
+
}
11
11
+
}
+18
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/black_matter.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BBB",
11
11
+
"B B",
12
12
+
"BBB"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 1,
16
16
+
"id": "infinity:black_matter"
17
17
+
}
18
18
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/book_box_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:bookshelf"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:book_box"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/chromatic_carpet_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool_carpets"
5
5
+
},
6
6
+
"lore": "recipe_info.portal.infinity.color",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:chromatic_carpet"
10
10
+
}
11
11
+
}
+10
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/chromatic_coloring_carpet.json
···
1
1
+
{
2
2
+
"type": "infinity:chromatic_coloring",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool_carpets"
5
5
+
},
6
6
+
"output": {
7
7
+
"count": 1,
8
8
+
"id": "infinity:chromatic_carpet"
9
9
+
}
10
10
+
}
+10
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/chromatic_coloring_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:chromatic_coloring",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool"
5
5
+
},
6
6
+
"output": {
7
7
+
"count": 1,
8
8
+
"id": "infinity:chromatic_wool"
9
9
+
}
10
10
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/chromatic_matter.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"tag": "infinity:matter"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:chromatic_matter"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/chromatic_matter_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_matter"
5
5
+
},
6
6
+
"lore": "recipe_info.iridescence.infinity.chromatic_matter",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:chromatic_matter"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/chromatic_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"tag": "minecraft:wool"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:chromatic_wool"
10
10
+
}
11
11
+
}
+24
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"A": {
6
6
+
"item": "infinity:altar"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lodestone"
10
10
+
},
11
11
+
"S": {
12
12
+
"item": "infinity:iridescent_star"
13
13
+
}
14
14
+
},
15
15
+
"pattern": [
16
16
+
"LAL",
17
17
+
"ASA",
18
18
+
"LAL"
19
19
+
],
20
20
+
"result": {
21
21
+
"count": 1,
22
22
+
"id": "infinity:cosmic_altar"
23
23
+
}
24
24
+
}
+24
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/cursor.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lime_concrete"
10
10
+
},
11
11
+
"S": {
12
12
+
"item": "infinity:star_of_lang"
13
13
+
}
14
14
+
},
15
15
+
"pattern": [
16
16
+
"BLB",
17
17
+
"LSL",
18
18
+
"BLB"
19
19
+
],
20
20
+
"result": {
21
21
+
"count": 8,
22
22
+
"id": "infinity:cursor"
23
23
+
}
24
24
+
}
+21
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/f4.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"O": {
6
6
+
"item": "minecraft:obsidian"
7
7
+
},
8
8
+
"S": {
9
9
+
"item": "infinity:iridescent_star"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"OOO",
14
14
+
"OSO",
15
15
+
"OOO"
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:f4"
20
20
+
}
21
21
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/f4_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "infinity:f4"
5
5
+
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:f4"
10
10
+
}
11
11
+
}
+21
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/fine_item.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"G": {
6
6
+
"item": "minecraft:grass_block"
7
7
+
},
8
8
+
"S": {
9
9
+
"item": "infinity:star_of_lang"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"GGG",
14
14
+
"GSG",
15
15
+
"GGG"
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:fine_item"
20
20
+
}
21
21
+
}
+18
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/footprint.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"P": {
6
6
+
"item": "minecraft:light_gray_stained_glass_pane"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"PPP",
11
11
+
"P P",
12
12
+
"PPP"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 8,
16
16
+
"id": "infinity:footprint"
17
17
+
}
18
18
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/iridescence_bottle_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_potion"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:iridescent_potion"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/iridescent_carpet.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_carpet"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:iridescent_carpet"
10
10
+
}
11
11
+
}
+16
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "infinity:iridescent_wool"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BB"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 3,
14
14
+
"id": "infinity:iridescent_carpet"
15
15
+
}
16
16
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/iridescent_star.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:star_of_lang"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:iridescent_star"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/iridescent_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:chromatic_wool"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:iridescent_wool"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/key_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": {
4
4
+
"item": "infinity:key"
5
5
+
},
6
6
+
"lore": "recipe_info.iridescence.infinity.key",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:key"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/key_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:amethyst_shard"
5
5
+
},
6
6
+
"lore": "recipe_info.portal.infinity.attuned",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:key"
10
10
+
}
11
11
+
}
+10
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": {
4
4
+
"item": "infinity:netherite_slab"
5
5
+
},
6
6
+
"result": {
7
7
+
"count": 2,
8
8
+
"id": "minecraft:netherite_block"
9
9
+
}
10
10
+
}
+10
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": {
4
4
+
"item": "infinity:netherite_stairs"
5
5
+
},
6
6
+
"result": {
7
7
+
"count": 1,
8
8
+
"id": "minecraft:netherite_block"
9
9
+
}
10
10
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/notes_block_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:note_block"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:notes_block"
10
10
+
}
11
11
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/timebomb_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": {
4
4
+
"item": "minecraft:tnt"
5
5
+
},
6
6
+
"lore": "empty",
7
7
+
"output": {
8
8
+
"count": 1,
9
9
+
"id": "infinity:timebomb"
10
10
+
}
11
11
+
}
+18
versions/1.21.1-fabric/src/main/generated/data/infinity/recipe/white_matter.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:white_concrete"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BBB",
11
11
+
"B B",
12
12
+
"BBB"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 1,
16
16
+
"id": "infinity:white_matter"
17
17
+
}
18
18
+
}
+8
versions/1.21.1-fabric/src/main/generated/data/infinity/tags/block/iridescent.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:iridescent_carpet",
5
5
+
"infinity:iridescence",
6
6
+
"infinity:cosmic_altar"
7
7
+
]
8
8
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/infinity/tags/item/iridescent.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:iridescent_carpet",
5
5
+
"infinity:iridescence_bucket",
6
6
+
"infinity:iridescent_star",
7
7
+
"infinity:iridescent_potion",
8
8
+
"infinity:chromatic_potion",
9
9
+
"infinity:cosmic_altar"
10
10
+
]
11
11
+
}
+7
versions/1.21.1-fabric/src/main/generated/data/infinity/tags/item/matter.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:black_matter",
4
4
+
"infinity:chromatic_matter",
5
5
+
"infinity:white_matter"
6
6
+
]
7
7
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/mineable/axe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:book_box"
4
4
+
]
5
5
+
}
+11
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:altar",
4
4
+
"infinity:cursor",
5
5
+
"infinity:netherite_slab",
6
6
+
"infinity:netherite_stairs",
7
7
+
"infinity:biome_bottle",
8
8
+
"infinity:ant",
9
9
+
"infinity:cosmic_altar"
10
10
+
]
11
11
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/portals.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:neither_portal"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/slabs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_slab"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/stairs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_stairs"
4
4
+
]
5
5
+
}
+6
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/block/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/entity_type/arthropod.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:ant"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/entity_type/frog_food.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_slime"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/entity_type/skeletons.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_skeleton"
4
4
+
]
5
5
+
}
+6
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/fluid/water.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:flowing_iridescence",
4
4
+
"infinity:iridescence"
5
5
+
]
6
6
+
}
+6
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/item/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.1-fabric/src/main/generated/data/minecraft/tags/item/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/c/tags/item/buckets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescence_bucket"
4
4
+
]
5
5
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant1.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant1"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant1"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/cursor.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cursor"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cursor"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_wool": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_wool"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:iridescent_carpet_from_wool"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_wool"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:iridescent_carpet_from_wool"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_slab": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_slab"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_slab_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_slab"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_slab_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_stairs": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_stairs"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_stairs_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_stairs"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_stairs_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_slab.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_slab"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_slab"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_stairs"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_stairs"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/black_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_black_concrete": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:black_concrete"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:black_matter"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_black_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:black_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/cosmic_altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cosmic_altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cosmic_altar"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/f4.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:f4"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:f4"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/fine_item.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:fine_item"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:fine_item"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/footprint.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_light_gray_stained_glass_pane": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:light_gray_stained_glass_pane"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:footprint"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_light_gray_stained_glass_pane"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:footprint"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/white_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_the_recipe": {
5
5
+
"conditions": {
6
6
+
"recipe": "infinity:white_matter"
7
7
+
},
8
8
+
"trigger": "minecraft:recipe_unlocked"
9
9
+
},
10
10
+
"has_white_concrete": {
11
11
+
"conditions": {
12
12
+
"items": [
13
13
+
{
14
14
+
"items": "minecraft:white_concrete"
15
15
+
}
16
16
+
]
17
17
+
},
18
18
+
"trigger": "minecraft:inventory_changed"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_white_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:white_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.1-neoforge/src/main/generated/data/infinity/advancement/recipes/redstone/altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_book_box": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:book_box"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_book_box"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:altar"
30
30
+
]
31
31
+
}
32
32
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:ant"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/book_box.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:book_box"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:cosmic_altar"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_carpet.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_carpet"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_kelp_plant.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "minecraft:kelp"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/iridescent_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:iridescent_wool"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:netherite_stairs"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+20
versions/1.21.1-neoforge/src/main/generated/data/infinity/loot_table/blocks/notes_block.json
···
1
1
+
{
2
2
+
"type": "minecraft:block",
3
3
+
"pools": [
4
4
+
{
5
5
+
"bonus_rolls": 0.0,
6
6
+
"conditions": [
7
7
+
{
8
8
+
"condition": "minecraft:survives_explosion"
9
9
+
}
10
10
+
],
11
11
+
"entries": [
12
12
+
{
13
13
+
"type": "minecraft:item",
14
14
+
"name": "infinity:notes_block"
15
15
+
}
16
16
+
],
17
17
+
"rolls": 1.0
18
18
+
}
19
19
+
]
20
20
+
}
+21
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "redstone",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "infinity:book_box"
7
7
+
},
8
8
+
"S": {
9
9
+
"item": "minecraft:stone_slab"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"SSS",
14
14
+
" B ",
15
15
+
" B "
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:altar"
20
20
+
}
21
21
+
}
+24
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"M": {
9
9
+
"item": "infinity:star_of_lang"
10
10
+
},
11
11
+
"W": {
12
12
+
"item": "minecraft:white_concrete"
13
13
+
}
14
14
+
},
15
15
+
"pattern": [
16
16
+
"WBW",
17
17
+
"BMB",
18
18
+
"WBW"
19
19
+
],
20
20
+
"result": {
21
21
+
"count": 1,
22
22
+
"id": "infinity:ant"
23
23
+
}
24
24
+
}
+21
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/ant1.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"W": {
9
9
+
"item": "minecraft:white_concrete"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"WBW",
14
14
+
"B B",
15
15
+
"WBW"
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:ant"
20
20
+
}
21
21
+
}
+24
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/cursor.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": {
6
6
+
"item": "minecraft:black_concrete"
7
7
+
},
8
8
+
"L": {
9
9
+
"item": "minecraft:lime_concrete"
10
10
+
},
11
11
+
"S": {
12
12
+
"item": "infinity:star_of_lang"
13
13
+
}
14
14
+
},
15
15
+
"pattern": [
16
16
+
"BLB",
17
17
+
"LSL",
18
18
+
"BLB"
19
19
+
],
20
20
+
"result": {
21
21
+
"count": 8,
22
22
+
"id": "infinity:cursor"
23
23
+
}
24
24
+
}
+21
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/fine_item.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"G": {
6
6
+
"item": "minecraft:grass_block"
7
7
+
},
8
8
+
"S": {
9
9
+
"item": "infinity:star_of_lang"
10
10
+
}
11
11
+
},
12
12
+
"pattern": [
13
13
+
"GGG",
14
14
+
"GSG",
15
15
+
"GGG"
16
16
+
],
17
17
+
"result": {
18
18
+
"count": 1,
19
19
+
"id": "infinity:fine_item"
20
20
+
}
21
21
+
}
+18
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/footprint.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"P": {
6
6
+
"item": "minecraft:light_gray_stained_glass_pane"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"PPP",
11
11
+
"P P",
12
12
+
"PPP"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 8,
16
16
+
"id": "infinity:footprint"
17
17
+
}
18
18
+
}
+10
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": {
4
4
+
"item": "infinity:netherite_slab"
5
5
+
},
6
6
+
"result": {
7
7
+
"count": 2,
8
8
+
"id": "minecraft:netherite_block"
9
9
+
}
10
10
+
}
+10
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": {
4
4
+
"item": "infinity:netherite_stairs"
5
5
+
},
6
6
+
"result": {
7
7
+
"count": 1,
8
8
+
"id": "minecraft:netherite_block"
9
9
+
}
10
10
+
}
+16
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/netherite_slab.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"#": {
6
6
+
"item": "minecraft:netherite_block"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"###"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 6,
14
14
+
"id": "infinity:netherite_slab"
15
15
+
}
16
16
+
}
+18
versions/1.21.1-neoforge/src/main/generated/data/infinity/recipe/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"#": {
6
6
+
"item": "minecraft:netherite_block"
7
7
+
}
8
8
+
},
9
9
+
"pattern": [
10
10
+
"# ",
11
11
+
"## ",
12
12
+
"###"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 4,
16
16
+
"id": "infinity:netherite_stairs"
17
17
+
}
18
18
+
}
+8
versions/1.21.1-neoforge/src/main/generated/data/infinity/tags/block/iridescent.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:iridescent_carpet",
5
5
+
"infinity:iridescence",
6
6
+
"infinity:cosmic_altar"
7
7
+
]
8
8
+
}
+11
versions/1.21.1-neoforge/src/main/generated/data/infinity/tags/item/iridescent.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:iridescent_carpet",
5
5
+
"infinity:iridescence_bucket",
6
6
+
"infinity:iridescent_star",
7
7
+
"infinity:iridescent_potion",
8
8
+
"infinity:chromatic_potion",
9
9
+
"infinity:cosmic_altar"
10
10
+
]
11
11
+
}
+7
versions/1.21.1-neoforge/src/main/generated/data/infinity/tags/item/matter.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:black_matter",
4
4
+
"infinity:chromatic_matter",
5
5
+
"infinity:white_matter"
6
6
+
]
7
7
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/mineable/axe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:book_box"
4
4
+
]
5
5
+
}
+11
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:altar",
4
4
+
"infinity:cursor",
5
5
+
"infinity:netherite_slab",
6
6
+
"infinity:netherite_stairs",
7
7
+
"infinity:biome_bottle",
8
8
+
"infinity:ant",
9
9
+
"infinity:cosmic_altar"
10
10
+
]
11
11
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/portals.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:neither_portal"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/slabs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_slab"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/stairs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_stairs"
4
4
+
]
5
5
+
}
+6
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/block/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/entity_type/arthropod.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:ant"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/entity_type/frog_food.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_slime"
4
4
+
]
5
5
+
}
+5
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/entity_type/skeletons.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_skeleton"
4
4
+
]
5
5
+
}
+6
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/fluid/water.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:flowing_iridescence",
4
4
+
"infinity:iridescence"
5
5
+
]
6
6
+
}
+6
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/item/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.1-neoforge/src/main/generated/data/minecraft/tags/item/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/c/tags/item/buckets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescence_bucket"
4
4
+
]
5
5
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant1.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant1"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant1"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/cursor.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cursor"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cursor"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_wool": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_wool"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:iridescent_carpet_from_wool"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_wool"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:iridescent_carpet_from_wool"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_slab": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_slab"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_slab_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_slab"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_slab_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_stairs": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_stairs"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_stairs_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_stairs"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_stairs_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_slab.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_slab"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_slab"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_stairs"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_stairs"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/misc/black_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_black_concrete": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:black_concrete"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:black_matter"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_black_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:black_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/misc/cosmic_altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cosmic_altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cosmic_altar"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/misc/f4.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:f4"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:f4"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/misc/fine_item.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:fine_item"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:fine_item"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/misc/footprint.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_light_gray_stained_glass_pane": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:light_gray_stained_glass_pane"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:footprint"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_light_gray_stained_glass_pane"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:footprint"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/misc/white_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_the_recipe": {
5
5
+
"conditions": {
6
6
+
"recipe": "infinity:white_matter"
7
7
+
},
8
8
+
"trigger": "minecraft:recipe_unlocked"
9
9
+
},
10
10
+
"has_white_concrete": {
11
11
+
"conditions": {
12
12
+
"items": [
13
13
+
{
14
14
+
"items": "minecraft:white_concrete"
15
15
+
}
16
16
+
]
17
17
+
},
18
18
+
"trigger": "minecraft:inventory_changed"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_white_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:white_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-fabric/src/main/generated/data/infinity/advancement/recipes/redstone/altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_book_box": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:book_box"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_book_box"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:altar"
30
30
+
]
31
31
+
}
32
32
+
}
+17
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "redstone",
4
4
+
"key": {
5
5
+
"B": "infinity:book_box",
6
6
+
"S": "minecraft:stone_slab"
7
7
+
},
8
8
+
"pattern": [
9
9
+
"SSS",
10
10
+
" B ",
11
11
+
" B "
12
12
+
],
13
13
+
"result": {
14
14
+
"count": 1,
15
15
+
"id": "infinity:altar"
16
16
+
}
17
17
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/altar_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:lectern",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:altar"
8
8
+
}
9
9
+
}
+18
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": "minecraft:black_concrete",
6
6
+
"M": "infinity:star_of_lang",
7
7
+
"W": "minecraft:white_concrete"
8
8
+
},
9
9
+
"pattern": [
10
10
+
"WBW",
11
11
+
"BMB",
12
12
+
"WBW"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 1,
16
16
+
"id": "infinity:ant"
17
17
+
}
18
18
+
}
+17
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/ant1.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": "minecraft:black_concrete",
6
6
+
"W": "minecraft:white_concrete"
7
7
+
},
8
8
+
"pattern": [
9
9
+
"WBW",
10
10
+
"B B",
11
11
+
"WBW"
12
12
+
],
13
13
+
"result": {
14
14
+
"count": 1,
15
15
+
"id": "infinity:ant"
16
16
+
}
17
17
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/biome_bottle_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:glass_bottle",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:biome_bottle"
8
8
+
}
9
9
+
}
+16
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/black_matter.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"B": "minecraft:black_concrete"
6
6
+
},
7
7
+
"pattern": [
8
8
+
"BBB",
9
9
+
"B B",
10
10
+
"BBB"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 1,
14
14
+
"id": "infinity:black_matter"
15
15
+
}
16
16
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/book_box_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:bookshelf",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:book_box"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/chromatic_carpet_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "#minecraft:wool_carpets",
4
4
+
"lore": "recipe_info.portal.infinity.color",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:chromatic_carpet"
8
8
+
}
9
9
+
}
+8
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/chromatic_coloring_carpet.json
···
1
1
+
{
2
2
+
"type": "infinity:chromatic_coloring",
3
3
+
"input": "#minecraft:wool_carpets",
4
4
+
"output": {
5
5
+
"count": 1,
6
6
+
"id": "infinity:chromatic_carpet"
7
7
+
}
8
8
+
}
+8
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/chromatic_coloring_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:chromatic_coloring",
3
3
+
"input": "#minecraft:wool",
4
4
+
"output": {
5
5
+
"count": 1,
6
6
+
"id": "infinity:chromatic_wool"
7
7
+
}
8
8
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/chromatic_matter.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "#infinity:matter",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:chromatic_matter"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/chromatic_matter_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": "infinity:chromatic_matter",
4
4
+
"lore": "recipe_info.iridescence.infinity.chromatic_matter",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:chromatic_matter"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/chromatic_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "#minecraft:wool",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:chromatic_wool"
8
8
+
}
9
9
+
}
+18
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/cosmic_altar.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"A": "infinity:altar",
6
6
+
"L": "minecraft:lodestone",
7
7
+
"S": "infinity:iridescent_star"
8
8
+
},
9
9
+
"pattern": [
10
10
+
"LAL",
11
11
+
"ASA",
12
12
+
"LAL"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 1,
16
16
+
"id": "infinity:cosmic_altar"
17
17
+
}
18
18
+
}
+18
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/cursor.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": "minecraft:black_concrete",
6
6
+
"L": "minecraft:lime_concrete",
7
7
+
"S": "infinity:star_of_lang"
8
8
+
},
9
9
+
"pattern": [
10
10
+
"BLB",
11
11
+
"LSL",
12
12
+
"BLB"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 8,
16
16
+
"id": "infinity:cursor"
17
17
+
}
18
18
+
}
+17
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/f4.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"O": "minecraft:obsidian",
6
6
+
"S": "infinity:iridescent_star"
7
7
+
},
8
8
+
"pattern": [
9
9
+
"OOO",
10
10
+
"OSO",
11
11
+
"OOO"
12
12
+
],
13
13
+
"result": {
14
14
+
"count": 1,
15
15
+
"id": "infinity:f4"
16
16
+
}
17
17
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/f4_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "infinity:f4",
4
4
+
"lore": "recipe_info.portal.infinity.attuned",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:f4"
8
8
+
}
9
9
+
}
+17
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/fine_item.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"G": "minecraft:grass_block",
6
6
+
"S": "infinity:star_of_lang"
7
7
+
},
8
8
+
"pattern": [
9
9
+
"GGG",
10
10
+
"GSG",
11
11
+
"GGG"
12
12
+
],
13
13
+
"result": {
14
14
+
"count": 1,
15
15
+
"id": "infinity:fine_item"
16
16
+
}
17
17
+
}
+16
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/footprint.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"P": "minecraft:light_gray_stained_glass_pane"
6
6
+
},
7
7
+
"pattern": [
8
8
+
"PPP",
9
9
+
"P P",
10
10
+
"PPP"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 8,
14
14
+
"id": "infinity:footprint"
15
15
+
}
16
16
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/iridescence_bottle_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "infinity:chromatic_potion",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:iridescent_potion"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/iridescent_carpet.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": "infinity:chromatic_carpet",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:iridescent_carpet"
8
8
+
}
9
9
+
}
+14
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": "infinity:iridescent_wool"
6
6
+
},
7
7
+
"pattern": [
8
8
+
"BB"
9
9
+
],
10
10
+
"result": {
11
11
+
"count": 3,
12
12
+
"id": "infinity:iridescent_carpet"
13
13
+
}
14
14
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/iridescent_star.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": "infinity:star_of_lang",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:iridescent_star"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/iridescent_wool.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": "infinity:chromatic_wool",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:iridescent_wool"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/key_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": "infinity:key",
4
4
+
"lore": "recipe_info.iridescence.infinity.key",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:key"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/key_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:amethyst_shard",
4
4
+
"lore": "recipe_info.portal.infinity.attuned",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:key"
8
8
+
}
9
9
+
}
+8
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": "infinity:netherite_slab",
4
4
+
"result": {
5
5
+
"count": 2,
6
6
+
"id": "minecraft:netherite_block"
7
7
+
}
8
8
+
}
+8
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": "infinity:netherite_stairs",
4
4
+
"result": {
5
5
+
"count": 1,
6
6
+
"id": "minecraft:netherite_block"
7
7
+
}
8
8
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/notes_block_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:note_block",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:notes_block"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/timebomb_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:tnt",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:timebomb"
8
8
+
}
9
9
+
}
+16
versions/1.21.8-fabric/src/main/generated/data/infinity/recipe/white_matter.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "misc",
4
4
+
"key": {
5
5
+
"B": "minecraft:white_concrete"
6
6
+
},
7
7
+
"pattern": [
8
8
+
"BBB",
9
9
+
"B B",
10
10
+
"BBB"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 1,
14
14
+
"id": "infinity:white_matter"
15
15
+
}
16
16
+
}
+7
versions/1.21.8-fabric/src/main/generated/data/infinity/tags/item/matter.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:black_matter",
4
4
+
"infinity:chromatic_matter",
5
5
+
"infinity:white_matter"
6
6
+
]
7
7
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/mineable/axe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:book_box"
4
4
+
]
5
5
+
}
+11
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:altar",
4
4
+
"infinity:cursor",
5
5
+
"infinity:netherite_slab",
6
6
+
"infinity:netherite_stairs",
7
7
+
"infinity:biome_bottle",
8
8
+
"infinity:ant",
9
9
+
"infinity:cosmic_altar"
10
10
+
]
11
11
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/portals.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:neither_portal"
4
4
+
]
5
5
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/slabs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_slab"
4
4
+
]
5
5
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/stairs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_stairs"
4
4
+
]
5
5
+
}
+6
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/block/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/entity_type/frog_food.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_slime"
4
4
+
]
5
5
+
}
+5
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/entity_type/skeletons.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_skeleton"
4
4
+
]
5
5
+
}
+6
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/fluid/water.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:flowing_iridescence",
4
4
+
"infinity:iridescence"
5
5
+
]
6
6
+
}
+6
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/item/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.8-fabric/src/main/generated/data/minecraft/tags/item/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/c/tags/item/buckets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescence_bucket"
4
4
+
]
5
5
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/ant1.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:ant1"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:ant1"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/cursor.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cursor"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cursor"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/iridescent_carpet_from_wool.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_wool": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_wool"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:iridescent_carpet_from_wool"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_wool"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:iridescent_carpet_from_wool"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_slab": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_slab"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_slab_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_slab"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_slab_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_stairs": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:netherite_stairs"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_block_from_netherite_stairs_stonecutting"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_stairs"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_block_from_netherite_stairs_stonecutting"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_slab.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_slab"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_slab"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/building_blocks/netherite_stairs.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_netherite_block": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:netherite_block"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:netherite_stairs"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_netherite_block"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:netherite_stairs"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/black_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_black_concrete": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:black_concrete"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:black_matter"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_black_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:black_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/cosmic_altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:cosmic_altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:cosmic_altar"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/f4.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_iridescent_star": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:iridescent_star"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:f4"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_iridescent_star"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:f4"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/fine_item.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_star_of_lang": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:star_of_lang"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:fine_item"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_star_of_lang"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:fine_item"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/footprint.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_light_gray_stained_glass_pane": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "minecraft:light_gray_stained_glass_pane"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:footprint"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_light_gray_stained_glass_pane"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:footprint"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/misc/white_matter.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_the_recipe": {
5
5
+
"conditions": {
6
6
+
"recipe": "infinity:white_matter"
7
7
+
},
8
8
+
"trigger": "minecraft:recipe_unlocked"
9
9
+
},
10
10
+
"has_white_concrete": {
11
11
+
"conditions": {
12
12
+
"items": [
13
13
+
{
14
14
+
"items": "minecraft:white_concrete"
15
15
+
}
16
16
+
]
17
17
+
},
18
18
+
"trigger": "minecraft:inventory_changed"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_white_concrete"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:white_matter"
30
30
+
]
31
31
+
}
32
32
+
}
+32
versions/1.21.8-neoforge/src/main/generated/data/infinity/advancement/recipes/redstone/altar.json
···
1
1
+
{
2
2
+
"parent": "minecraft:recipes/root",
3
3
+
"criteria": {
4
4
+
"has_book_box": {
5
5
+
"conditions": {
6
6
+
"items": [
7
7
+
{
8
8
+
"items": "infinity:book_box"
9
9
+
}
10
10
+
]
11
11
+
},
12
12
+
"trigger": "minecraft:inventory_changed"
13
13
+
},
14
14
+
"has_the_recipe": {
15
15
+
"conditions": {
16
16
+
"recipe": "infinity:altar"
17
17
+
},
18
18
+
"trigger": "minecraft:recipe_unlocked"
19
19
+
}
20
20
+
},
21
21
+
"requirements": [
22
22
+
[
23
23
+
"has_the_recipe",
24
24
+
"has_book_box"
25
25
+
]
26
26
+
],
27
27
+
"rewards": {
28
28
+
"recipes": [
29
29
+
"infinity:altar"
30
30
+
]
31
31
+
}
32
32
+
}
+18
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/ant.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"B": "minecraft:black_concrete",
6
6
+
"M": "infinity:star_of_lang",
7
7
+
"W": "minecraft:white_concrete"
8
8
+
},
9
9
+
"pattern": [
10
10
+
"WBW",
11
11
+
"BMB",
12
12
+
"WBW"
13
13
+
],
14
14
+
"result": {
15
15
+
"count": 1,
16
16
+
"id": "infinity:ant"
17
17
+
}
18
18
+
}
+9
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/biome_bottle_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "minecraft:glass_bottle",
4
4
+
"lore": "empty",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:biome_bottle"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/chromatic_carpet_from_portal.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_portal",
3
3
+
"input": "#minecraft:wool_carpets",
4
4
+
"lore": "recipe_info.portal.infinity.color",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:chromatic_carpet"
8
8
+
}
9
9
+
}
+9
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/key_from_iridescence.json
···
1
1
+
{
2
2
+
"type": "infinity:collision_iridescence",
3
3
+
"input": "infinity:key",
4
4
+
"lore": "recipe_info.iridescence.infinity.key",
5
5
+
"output": {
6
6
+
"count": 1,
7
7
+
"id": "infinity:key"
8
8
+
}
9
9
+
}
+8
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_slab_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": "infinity:netherite_slab",
4
4
+
"result": {
5
5
+
"count": 2,
6
6
+
"id": "minecraft:netherite_block"
7
7
+
}
8
8
+
}
+8
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/netherite_block_from_netherite_stairs_stonecutting.json
···
1
1
+
{
2
2
+
"type": "minecraft:stonecutting",
3
3
+
"ingredient": "infinity:netherite_stairs",
4
4
+
"result": {
5
5
+
"count": 1,
6
6
+
"id": "minecraft:netherite_block"
7
7
+
}
8
8
+
}
+14
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/netherite_slab.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"#": "minecraft:netherite_block"
6
6
+
},
7
7
+
"pattern": [
8
8
+
"###"
9
9
+
],
10
10
+
"result": {
11
11
+
"count": 6,
12
12
+
"id": "infinity:netherite_slab"
13
13
+
}
14
14
+
}
+16
versions/1.21.8-neoforge/src/main/generated/data/infinity/recipe/netherite_stairs.json
···
1
1
+
{
2
2
+
"type": "minecraft:crafting_shaped",
3
3
+
"category": "building",
4
4
+
"key": {
5
5
+
"#": "minecraft:netherite_block"
6
6
+
},
7
7
+
"pattern": [
8
8
+
"# ",
9
9
+
"## ",
10
10
+
"###"
11
11
+
],
12
12
+
"result": {
13
13
+
"count": 4,
14
14
+
"id": "infinity:netherite_stairs"
15
15
+
}
16
16
+
}
+7
versions/1.21.8-neoforge/src/main/generated/data/infinity/tags/item/matter.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:black_matter",
4
4
+
"infinity:chromatic_matter",
5
5
+
"infinity:white_matter"
6
6
+
]
7
7
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/mineable/axe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:book_box"
4
4
+
]
5
5
+
}
+11
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:altar",
4
4
+
"infinity:cursor",
5
5
+
"infinity:netherite_slab",
6
6
+
"infinity:netherite_stairs",
7
7
+
"infinity:biome_bottle",
8
8
+
"infinity:ant",
9
9
+
"infinity:cosmic_altar"
10
10
+
]
11
11
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/portals.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:neither_portal"
4
4
+
]
5
5
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/slabs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_slab"
4
4
+
]
5
5
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/stairs.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:netherite_stairs"
4
4
+
]
5
5
+
}
+6
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/block/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/entity_type/frog_food.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_slime"
4
4
+
]
5
5
+
}
+5
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/entity_type/skeletons.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:chaos_skeleton"
4
4
+
]
5
5
+
}
+6
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/fluid/water.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:flowing_iridescence",
4
4
+
"infinity:iridescence"
5
5
+
]
6
6
+
}
+6
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/item/wool.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_wool",
4
4
+
"infinity:chromatic_wool"
5
5
+
]
6
6
+
}
+6
versions/1.21.8-neoforge/src/main/generated/data/minecraft/tags/item/wool_carpets.json
···
1
1
+
{
2
2
+
"values": [
3
3
+
"infinity:iridescent_carpet",
4
4
+
"infinity:chromatic_carpet"
5
5
+
]
6
6
+
}