Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 2.7.2
- Add BQu mixin [#359](https://github.com/GTModpackTeam/GTExpert-Core/pull/359)
- Fix recycling recipes [#360](https://github.com/GTModpackTeam/GTExpert-Core/pull/360)

* * *

# 2.7.1
- Fix server boot crash [#354](https://github.com/GTModpackTeam/GTExpert-Core/pull/354)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

import gregtech.api.block.VariantItemBlock;
import gregtech.api.recipes.RecipeMaps;
import gregtech.loaders.recipe.RecyclingRecipes;

import com.github.gtexpert.core.api.GTEValues;
import com.github.gtexpert.core.api.modules.GTEModule;
Expand Down Expand Up @@ -110,6 +109,5 @@ public void registerRecipesLowest(RegistryEvent.Register<IRecipe> event) {
GTERecipe.init();
CEUOverrideRecipe.init();
GTEVanillaOverrideRecipes.init();
RecyclingRecipes.init();
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
package com.github.gtexpert.core.integration.ae;

import java.util.Collections;
import java.util.List;

import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import org.jetbrains.annotations.NotNull;

import gregtech.api.event.MaterialInfoEvent;

import com.github.gtexpert.core.api.GTEValues;
import com.github.gtexpert.core.api.modules.GTEModule;
Expand All @@ -23,9 +31,19 @@
description = "Applied Energistics 2 Integration Module")
public class AEModule extends GTEIntegrationSubmodule {

@NotNull
@Override
public void registerRecipesNormal(RegistryEvent.Register<IRecipe> event) {
public List<Class<?>> getEventBusSubscribers() {
return Collections.singletonList(AEModule.class);
}

@SubscribeEvent
public static void onMaterialInfo(MaterialInfoEvent event) {
AEMaterialInfoLoader.init();
}

@Override
public void registerRecipesNormal(RegistryEvent.Register<IRecipe> event) {
AEOreDictionaryLoader.init();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
package com.github.gtexpert.core.integration.deda;

import java.util.Collections;
import java.util.List;

import net.minecraft.block.Block;
import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import org.jetbrains.annotations.NotNull;

import gregtech.api.event.MaterialInfoEvent;

import com.github.gtexpert.core.api.GTEValues;
import com.github.gtexpert.core.api.modules.GTEModule;
Expand All @@ -23,6 +31,17 @@
description = "Draconic Evolution & Draconic Additions Integration Module")
public class DEDAModule extends GTEIntegrationSubmodule {

@NotNull
@Override
public List<Class<?>> getEventBusSubscribers() {
return Collections.singletonList(DEDAModule.class);
}

@SubscribeEvent
public static void onMaterialInfo(MaterialInfoEvent event) {
DEDAMaterialInfoLoader.init();
}

@Override
public void registerBlocks(RegistryEvent.Register<Block> event) {
DEDAMetaTileEntities.init();
Expand All @@ -33,11 +52,6 @@ public void postInit(FMLPostInitializationEvent event) {
DraconicMaterialsRecipe.remove();
}

@Override
public void registerRecipesNormal(RegistryEvent.Register<IRecipe> event) {
DEDAMaterialInfoLoader.init();
}

@Override
public void registerRecipesLowest(RegistryEvent.Register<IRecipe> event) {
DEDAOreDictionaryLoader.init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import static gregtech.api.GTValues.*;

import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;

import net.minecraft.block.Block;
Expand All @@ -12,9 +14,13 @@
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import org.jetbrains.annotations.NotNull;

import com.enderio.core.common.util.EntityUtil;

import gregtech.api.event.MaterialInfoEvent;
import gregtech.api.recipes.RecipeBuilder;
import gregtech.api.recipes.builders.SimpleRecipeBuilder;
import gregtech.api.recipes.ingredients.GTRecipeItemInput;
Expand Down Expand Up @@ -43,6 +49,17 @@
description = "Ender IO Integration Module")
public class EnderIOModule extends GTEIntegrationSubmodule {

@NotNull
@Override
public List<Class<?>> getEventBusSubscribers() {
return Collections.singletonList(EnderIOModule.class);
}

@SubscribeEvent
public static void onMaterialInfo(MaterialInfoEvent event) {
EIOMaterialInfoLoader.init();
}

@Override
public void registerBlocks(RegistryEvent.Register<Block> event) {
EIOMetaTileEntities.init();
Expand All @@ -55,7 +72,6 @@ public void postInit(FMLPostInitializationEvent event) {

@Override
public void registerRecipesNormal(RegistryEvent.Register<IRecipe> event) {
EIOMaterialInfoLoader.init();
EIOOreDictionaryLoader.init();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
Expand All @@ -22,6 +23,11 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;

import gregtech.api.unification.OreDictUnifier;
import gregtech.api.unification.stack.ItemAndMetadata;
import gregtech.api.unification.stack.ItemMaterialInfo;
import gregtech.loaders.recipe.RecyclingRecipes;

import com.github.gtexpert.core.api.GTEValues;
import com.github.gtexpert.core.api.modules.*;

Expand Down Expand Up @@ -262,10 +268,26 @@ public void registerRecipesLow(RegistryEvent.Register<IRecipe> event) {
}

public void registerRecipesLowest(RegistryEvent.Register<IRecipe> event) {
// Take a snapshot of all item material infos before GTE registers its LOWEST recipes.
// Any new entries added by .withRecycling() during buildAndRegister() will need
// recycling recipes generated, since GregTech's RecyclingRecipes.init() has already run.
Set<ItemAndMetadata> existingInfos = new HashSet<>();
for (Map.Entry<ItemStack, ItemMaterialInfo> entry : OreDictUnifier.getAllItemInfos()) {
existingInfos.add(new ItemAndMetadata(entry.getKey()));
}

for (IGTEModule module : loadedModules) {
currentContainer = containers.get(getContainerID(module));
module.registerRecipesLowest(event);
}

// Generate recycling recipes for items newly registered via .withRecycling()
for (Map.Entry<ItemStack, ItemMaterialInfo> entry : OreDictUnifier.getAllItemInfos()) {
if (!existingInfos.contains(new ItemAndMetadata(entry.getKey()))) {
RecyclingRecipes.registerRecyclingRecipes(entry.getKey(),
new ArrayList<>(entry.getValue().getMaterials()), false, null);
}
}
}

private void configureModules(Map<String, List<IGTEModule>> modules) {
Expand Down