Skip to content

Commit

Permalink
feat: Add Fabricae Ex Nihilo support
Browse files Browse the repository at this point in the history
  • Loading branch information
BlayTheNinth committed Jul 4, 2024
1 parent 4a7c27f commit 715eb29
Show file tree
Hide file tree
Showing 40 changed files with 636 additions and 55 deletions.
4 changes: 3 additions & 1 deletion fabric/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,7 @@ repositories {
dependencies {
modRuntimeOnly "me.shedaniel.cloth:cloth-config-fabric:11.0.99"
modCompileOnly "com.terraformersmc:modmenu:$modmenu_version"
modImplementation "curse.maven:jade-324717:$jade_fabric_version"
modCompileOnly "curse.maven:jade-324717:$jade_fabric_version"
modImplementation "curse.maven:fabricae-ex-nihilo-596911:5298550"
modRuntimeOnly("com.github.mattidragon:configtoolkit:1.0.0")
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ public ModItemTagProvider(FabricDataOutput output, CompletableFuture<HolderLooku

@Override
protected void addTags(HolderLookup.Provider lookup) {
getOrCreateTagBuilder(ModItemTags.SIEVES)
.addOptional(sequentia("acacia_sieve"))
getOrCreateTagBuilder(ModItemTags.SIEVES).addOptional(sequentia("acacia_sieve"))
.addOptional(sequentia("birch_sieve"))
.addOptional(sequentia("dark_oak_sieve"))
.addOptional(sequentia("jungle_sieve"))
Expand All @@ -42,7 +41,18 @@ protected void addTags(HolderLookup.Provider lookup) {
.addOptional(deorum("cherry_sieve"))
.addOptional(deorum("mangrove_sieve"))
.addOptional(deorum("warped_sieve"))
.addOptional(deorum("crimson_sieve"));
.addOptional(deorum("crimson_sieve"))
.addOptional(fabricae("acacia_sieve"))
.addOptional(fabricae("birch_sieve"))
.addOptional(fabricae("dark_oak_sieve"))
.addOptional(fabricae("jungle_sieve"))
.addOptional(fabricae("oak_sieve"))
.addOptional(fabricae("spruce_sieve"))
.addOptional(fabricae("cherry_sieve"))
.addOptional(fabricae("mangrove_sieve"))
.addOptional(fabricae("warped_sieve"))
.addOptional(fabricae("crimson_sieve"))
.addOptional(fabricae("bamboo_sieve"));

final var heavySieves = getOrCreateTagBuilder(ModItemTags.HEAVY_SIEVES);
for (Block heavySieve : ModBlocks.heavySieves) {
Expand All @@ -67,13 +77,25 @@ protected void addTags(HolderLookup.Provider lookup) {
.addTag(ModItemTags.DIAMOND_HAMMERS)
.addTag(ModItemTags.NETHERITE_HAMMERS)
.addTag(ModItemTags.EXOTIC_HAMMERS);
getOrCreateTagBuilder(ModItemTags.WOODEN_HAMMERS).addOptional(sequentia("wooden_hammer")).addOptional(deorum("wooden_hammer"));
getOrCreateTagBuilder(ModItemTags.STONE_HAMMERS).addOptional(sequentia("stone_hammer")).addOptional(deorum("stone_hammer"));
getOrCreateTagBuilder(ModItemTags.IRON_HAMMERS).addOptional(sequentia("iron_hammer")).addOptional(deorum("iron_hammer"));
getOrCreateTagBuilder(ModItemTags.COPPER_HAMMERS).addOptional(sequentia("copper_hammer"));
getOrCreateTagBuilder(ModItemTags.GOLDEN_HAMMERS).addOptional(sequentia("golden_hammer")).addOptional(deorum("golden_hammer"));
getOrCreateTagBuilder(ModItemTags.DIAMOND_HAMMERS).addOptional(sequentia("diamond_hammer")).addOptional(deorum("diamond_hammer"));
getOrCreateTagBuilder(ModItemTags.NETHERITE_HAMMERS).addOptional(sequentia("netherite_hammer")).addOptional(deorum("netherite_hammer"));
getOrCreateTagBuilder(ModItemTags.WOODEN_HAMMERS).addOptional(sequentia("wooden_hammer"))
.addOptional(deorum("wooden_hammer"))
.addOptional(fabricae("wooden_hammer"));
getOrCreateTagBuilder(ModItemTags.STONE_HAMMERS).addOptional(sequentia("stone_hammer"))
.addOptional(deorum("stone_hammer"))
.addOptional(fabricae("stone_hammer"));
getOrCreateTagBuilder(ModItemTags.IRON_HAMMERS).addOptional(sequentia("iron_hammer"))
.addOptional(deorum("iron_hammer"))
.addOptional(fabricae("iron_hammer"));
getOrCreateTagBuilder(ModItemTags.COPPER_HAMMERS).addOptional(sequentia("copper_hammer")).addOptional(deorum("copper_hammer"));
getOrCreateTagBuilder(ModItemTags.GOLDEN_HAMMERS).addOptional(sequentia("golden_hammer"))
.addOptional(deorum("golden_hammer"))
.addOptional(fabricae("golden_hammer"));
getOrCreateTagBuilder(ModItemTags.DIAMOND_HAMMERS).addOptional(sequentia("diamond_hammer"))
.addOptional(deorum("diamond_hammer"))
.addOptional(fabricae("diamond_hammer"));
getOrCreateTagBuilder(ModItemTags.NETHERITE_HAMMERS).addOptional(sequentia("netherite_hammer"))
.addOptional(deorum("netherite_hammer"))
.addOptional(fabricae("netherite_hammer"));
getOrCreateTagBuilder(ModItemTags.EXOTIC_HAMMERS).addOptional(sequentia("bamboo_hammer"))
.addOptional(sequentia("andesite_hammer"))
.addOptional(sequentia("basalt_hammer"))
Expand Down Expand Up @@ -114,11 +136,23 @@ protected void addTags(HolderLookup.Provider lookup) {
.addOptional(deorum("spruce_crucible"))
.addOptional(deorum("crimson_crucible"))
.addOptional(deorum("warped_crucible"));
woodenCrucibles.addOptional(fabricae("acacia_crucible"))
.addOptional(fabricae("birch_crucible"))
.addOptional(fabricae("cherry_crucible"))
.addOptional(fabricae("dark_oak_crucible"))
.addOptional(fabricae("jungle_crucible"))
.addOptional(fabricae("mangrove_crucible"))
.addOptional(fabricae("oak_crucible"))
.addOptional(fabricae("spruce_crucible"))
.addOptional(fabricae("crimson_crucible"))
.addOptional(fabricae("warped_crucible"))
.addOptional(fabricae("bamboo_crucible"));

getOrCreateTagBuilder(ModItemTags.WOODEN_CROOKS).addOptional(sequentia("wooden_crook")).addOptional(deorum("crook"));
getOrCreateTagBuilder(ModItemTags.WOODEN_CROOKS).addOptional(sequentia("wooden_crook"))
.addOptional(deorum("crook"))
.addOptional(fabricae("wooden_crook"));

getOrCreateTagBuilder(ModItemTags.COMPRESSED_HAMMERS)
.add(ModItems.compressedWoodenHammer,
getOrCreateTagBuilder(ModItemTags.COMPRESSED_HAMMERS).add(ModItems.compressedWoodenHammer,
ModItems.compressedStoneHammer,
ModItems.compressedIronHammer,
ModItems.compressedDiamondHammer,
Expand All @@ -140,12 +174,12 @@ protected void addTags(HolderLookup.Provider lookup) {
baits.add(bait.asItem());
}

getOrCreateTagBuilder(ModItemTags.CRUSHED_ANDESITES).addOptional(sequentia("crushed_andesite"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_DIORITES).addOptional(sequentia("crushed_diorite"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_GRANITES).addOptional(sequentia("crushed_granite"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_NETHERRACKS).addOptional(sequentia("crushed_netherrack")).addOptional(deorum("crushed_netherrack"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_END_STONES).addOptional(sequentia("crushed_end_stone")).addOptional(deorum("crushed_end_stone"));
getOrCreateTagBuilder(ModItemTags.DUSTS).addOptional(sequentia("dust")).addOptional(deorum("dust"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_ANDESITES).addOptional(sequentia("crushed_andesite")).addOptional(fabricae("crushed_andesite"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_DIORITES).addOptional(sequentia("crushed_diorite")).addOptional(fabricae("crushed_diorite"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_GRANITES).addOptional(sequentia("crushed_granite")).addOptional(fabricae("crushed_granite"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_NETHERRACKS).addOptional(sequentia("crushed_netherrack")).addOptional(deorum("crushed_netherrack")).addOptional(fabricae("crushed_netherrack"));
getOrCreateTagBuilder(ModItemTags.CRUSHED_END_STONES).addOptional(sequentia("crushed_end_stone")).addOptional(deorum("crushed_end_stone")).addOptional(fabricae("crushed_endstone"));
getOrCreateTagBuilder(ModItemTags.DUSTS).addOptional(sequentia("dust")).addOptional(deorum("dust")).addOptional(fabricae("dust"));
}

private static ResourceLocation sequentia(String name) {
Expand All @@ -155,4 +189,8 @@ private static ResourceLocation sequentia(String name) {
private static ResourceLocation deorum(String name) {
return new ResourceLocation(Compat.EX_DEORUM, name);
}

private static ResourceLocation fabricae(String name) {
return new ResourceLocation(Compat.FABRICAE_EX_NIHILO, name);
}
}
13 changes: 12 additions & 1 deletion fabric/src/main/resources/excompressum.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,18 @@
"package": "net.blay09.mods.excompressum.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [
"LootTableAccessor"
"BinomialDistributionGeneratorAccessor",
"ConstantValueAccessor",
"LootItemAccessor",
"LootItemRandomChanceConditionAccessor",
"LootPoolAccessor",
"LootPoolEntryContainerAccessor",
"LootPoolSingletonContainerAccessor",
"LootTableAccessor",
"LootTableReferenceAccessor",
"SetItemCountFunctionAccessor",
"TagEntryAccessor",
"UniformGeneratorAccessor"
],
"client": [
],
Expand Down
1 change: 1 addition & 0 deletions fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
]
},
"mixins": [
"excompressum.mixins.json"
],
"depends": {
"balm-fabric": ">=7.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ private ItemStack findItem(String name) {
}

@Override
public boolean isHammerable(BlockState state) {
public boolean isHammerable(Level level, BlockState state) {
return RecipeUtil.getHammerRecipe(StupidUtils.getItemStackFromState(state).getItem()) != null;
}

Expand All @@ -140,7 +140,7 @@ public List<ItemStack> rollHammerRewards(Level level, BlockState state, ItemStac
}

@Override
public boolean isSiftableWithMesh(BlockState sieveState, BlockState state, @Nullable SieveMeshRegistryEntry sieveMesh) {
public boolean isSiftableWithMesh(Level level, BlockState sieveState, BlockState state, @Nullable SieveMeshRegistryEntry sieveMesh) {
if (sieveMesh == null) {
return false;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.blay09.mods.excompressum.forge.compat.exnihilosequentia;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import it.unimi.dsi.fastutil.ints.IntList;
import net.blay09.mods.balm.api.Balm;
import net.blay09.mods.excompressum.api.ExNihiloProvider;
Expand Down Expand Up @@ -53,7 +52,7 @@ public class ExNihiloSequentiaAddon implements ExNihiloProvider {
public ExNihiloSequentiaAddon() {
ExNihilo.setInstance(this);

SieveMeshRegistry.registerDefaults(MeshType.STRING);
SieveMeshRegistry.registerDefaults(MeshType.IRON);

ItemStack stringMeshItem = findItem("string_mesh");
if (!stringMeshItem.isEmpty()) {
Expand Down Expand Up @@ -114,20 +113,13 @@ private ItemStack findItem(String name) {
return new ItemStack(item);
}

private ItemStack findBlock(String name) {
ResourceLocation location = new ResourceLocation(Compat.EXNIHILO_SEQUENTIA, name);
Block block = Balm.getRegistries().getBlock(location);
return new ItemStack(block);
}


@Override
public boolean isHammerableCompressed(ItemStack itemStack) {
return false;
}

@Override
public boolean isHammerable(BlockState state) {
public boolean isHammerable(Level level, BlockState state) {
return ExNihiloRegistries.HAMMER_REGISTRY.isHammerable(state.getBlock());
}

Expand All @@ -145,7 +137,7 @@ public List<ItemStack> rollHammerRewards(Level level, BlockState state, ItemStac
}

@Override
public boolean isSiftableWithMesh(BlockState sieveState, BlockState state, SieveMeshRegistryEntry sieveMesh) {
public boolean isSiftableWithMesh(Level level, BlockState sieveState, BlockState state, SieveMeshRegistryEntry sieveMesh) {
boolean waterlogged = sieveState.hasProperty(BlockStateProperties.WATERLOGGED) && sieveState.getValue(BlockStateProperties.WATERLOGGED);
MeshType mesh = sieveMesh != null ? (MeshType) sieveMesh.getBackingMesh() : MeshType.NONE;
return ExNihiloRegistries.SIEVE_REGISTRY.isBlockSiftable(state.getBlock(), mesh, waterlogged);
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ forge_mixins=true

# Fabric
fabric_version = 0.92.0+1.20.1
fabric_loader_version = 0.15.7
fabric_loader_version = 0.15.11

# Dependencies
jei_minecraft_version=1.20.1
Expand Down
1 change: 1 addition & 0 deletions repositories.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ repositories {
url = 'https://jitpack.io'
content {
includeGroup "com.github.BlueMap-Minecraft"
includeGroup "com.github.mattidragon"
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
{
"id": "exnihilosequentia:copper_hammer",
"required": false
},
{
"id": "exdeorum:copper_hammer",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
{
"id": "exnihilosequentia:crushed_andesite",
"required": false
},
{
"id": "fabricaeexnihilo:crushed_andesite",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
{
"id": "exnihilosequentia:crushed_diorite",
"required": false
},
{
"id": "fabricaeexnihilo:crushed_diorite",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:crushed_end_stone",
"required": false
},
{
"id": "fabricaeexnihilo:crushed_endstone",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
{
"id": "exnihilosequentia:crushed_granite",
"required": false
},
{
"id": "fabricaeexnihilo:crushed_granite",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:crushed_netherrack",
"required": false
},
{
"id": "fabricaeexnihilo:crushed_netherrack",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:diamond_hammer",
"required": false
},
{
"id": "fabricaeexnihilo:diamond_hammer",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:dust",
"required": false
},
{
"id": "fabricaeexnihilo:dust",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:golden_hammer",
"required": false
},
{
"id": "fabricaeexnihilo:golden_hammer",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:iron_hammer",
"required": false
},
{
"id": "fabricaeexnihilo:iron_hammer",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{
"id": "exdeorum:netherite_hammer",
"required": false
},
{
"id": "fabricaeexnihilo:netherite_hammer",
"required": false
}
]
}
Loading

0 comments on commit 715eb29

Please sign in to comment.