Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check if material already exists before registering #30

Merged
merged 6 commits into from
Jun 5, 2018
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
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ repositories {
}
}

version = "0.5.2"
version = "0.5.5"
group= "com.bartz24.moartinkers" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "moartinkers"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,11 @@
import slimeknights.tconstruct.library.materials.Material;

public class MaterialIntegrationExists extends MoarMaterialIntegration {
public MaterialIntegrationExists(Material material) {
super(material, null);
}

public MaterialIntegrationExists(Material material, Fluid fluid) {
super(null, material, fluid, null);
}

public MaterialIntegrationExists(Material material, Fluid fluid, String oreSuffix) {
super("ingot" + oreSuffix, material, fluid, oreSuffix);
}

public MaterialIntegrationExists(String oreRequirement, Material material, Fluid fluid, String oreSuffix) {
super(material, fluid, oreSuffix, oreRequirement);
}

public MaterialIntegrationExists(Material material, Fluid fluid, String oreSuffix, String... oreRequirement) {
super(material, fluid, oreSuffix, oreRequirement);
}

public void registerFluidBlock(IForgeRegistry<Block> registry) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,16 @@
import slimeknights.tconstruct.smeltery.TinkerSmeltery;

public class MaterialIntegrationNoDust extends MoarMaterialIntegration {
public MaterialIntegrationNoDust(Material material) {
super(material, null);
}

public MaterialIntegrationNoDust(Material material, Fluid fluid) {
super(null, material, fluid, null);
}

public MaterialIntegrationNoDust(Material material, Fluid fluid, String oreSuffix) {
super("ingot" + oreSuffix, material, fluid, oreSuffix);
}

public MaterialIntegrationNoDust(String oreRequirement, Material material, Fluid fluid, String oreSuffix) {
super(material, fluid, oreSuffix, oreRequirement);
}

public MaterialIntegrationNoDust(Material material, Fluid fluid, String oreSuffix, String... oreRequirement) {
super(material, fluid, oreSuffix, oreRequirement);
}

public void integrateRecipes() {
if (integrated) {
return;
}

if (!force) {
if (oreRequirement != null && oreRequirement.length > 0 && !Config.forceRegisterAll) {
for (String ore : oreRequirement) {
if (OreDictionary.getOres(ore, false).isEmpty()) {
return;
}
if (integrated || !force && oreRequirement != null && oreRequirement.length > 0 && !Config.forceRegisterAll) {
for (String ore : oreRequirement) {
if (OreDictionary.getOres(ore, false).isEmpty()) {
return;
}
}
}
Expand Down
23 changes: 5 additions & 18 deletions src/main/java/com/bartz24/moartinkers/MoarMaterialIntegration.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.bartz24.moartinkers;

import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.oredict.OreDictionary;
Expand All @@ -13,18 +12,9 @@

public class MoarMaterialIntegration extends MaterialIntegration {
protected boolean integrated;
private boolean toolforge;
private boolean preInit;
protected boolean force;

public MoarMaterialIntegration(Material material) {
this(material, null);
}

public MoarMaterialIntegration(Material material, Fluid fluid) {
this(null, material, fluid, null);
}

public MoarMaterialIntegration(Material material, Fluid fluid, String oreSuffix) {
this("ingot" + oreSuffix, material, fluid, oreSuffix);
}
Expand All @@ -33,7 +23,7 @@ public MoarMaterialIntegration(String oreRequirement, Material material, Fluid f
this(material, fluid, oreSuffix, oreRequirement);
}

public MoarMaterialIntegration(Material material, Fluid fluid, String oreSuffix, String... oreRequirement) {
private MoarMaterialIntegration(Material material, Fluid fluid, String oreSuffix, String... oreRequirement) {
super(material, fluid, RandomHelper.capatilizeString(oreSuffix), oreRequirement);

this.integrated = false;
Expand Down Expand Up @@ -87,12 +77,10 @@ public void integrateRecipes() {
return;
}

if (!force) {
if (oreRequirement != null && oreRequirement.length > 0 && !Config.forceRegisterAll) {
for (String ore : oreRequirement) {
if (OreDictionary.getOres(ore, false).isEmpty()) {
return;
}
if (!force && oreRequirement != null && oreRequirement.length > 0 && !Config.forceRegisterAll) {
for (String ore : oreRequirement) {
if (OreDictionary.getOres(ore, false).isEmpty()) {
return;
}
}
}
Expand All @@ -108,7 +96,6 @@ public void integrateRecipes() {

public MaterialIntegration toolforge() {
super.toolforge();
toolforge = true;
return this;
}
}
107 changes: 5 additions & 102 deletions src/main/java/com/bartz24/moartinkers/RandomHelper.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,11 @@
package com.bartz24.moartinkers;

import java.util.List;
import java.util.Set;

import org.apache.commons.lang3.tuple.Pair;

import com.google.common.collect.ImmutableSet;

import joptsimple.internal.Strings;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.tuple.Pair;
import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.common.config.Config;
import slimeknights.tconstruct.library.TinkerRegistry;
Expand All @@ -26,98 +15,12 @@
import slimeknights.tconstruct.library.smeltery.OreCastingRecipe;
import slimeknights.tconstruct.smeltery.TinkerSmeltery;

public class RandomHelper {

public static String capatilizeString(String s) {
return s == null ? null : (s.substring(0, 1).toUpperCase() + s.substring(1));
}

public static IBlockState getBlockStateFromStack(ItemStack stack) {
int meta = stack.getMetadata();
if (!(stack.getItem() instanceof ItemBlock))
return null;

Block block = ((ItemBlock) stack.getItem()).getBlock();

return block.getStateFromMeta(meta);
}

public static boolean itemStacksEqualOD(ItemStack stack1, ItemStack stack2) {
if (stack1.isItemEqual(stack2))
return true;

if (stack1.isEmpty() && !stack2.isEmpty() && stack1.getMetadata() == OreDictionary.WILDCARD_VALUE
|| stack2.getMetadata() == OreDictionary.WILDCARD_VALUE) {
return stack1.getItem() == stack2.getItem();
}
return false;
}

public static boolean canStacksMerge(ItemStack stack1, ItemStack stack2) {
if (stack1.isEmpty() || stack2.isEmpty()) {
return false;
}
if (!stack1.isItemEqual(stack2)) {
return false;
}
if (!ItemStack.areItemStackTagsEqual(stack1, stack2)) {
return false;
}
return true;

}

public static int mergeStacks(ItemStack mergeSource, ItemStack mergeTarget, boolean doMerge) {
if (!canStacksMerge(mergeSource, mergeTarget)) {
return 0;
}
int mergeCount = Math.min(mergeTarget.getMaxStackSize() - mergeTarget.getCount(), mergeSource.getCount());
if (mergeCount < 1) {
return 0;
}
if (doMerge) {
mergeTarget.grow(mergeCount);
}
return mergeCount;
}

public static ItemStack fillInventory(IInventory inv, ItemStack stack) {
if (!inv.isEmpty()) {
for (int i = 0; i < inv.getSizeInventory(); i++) {
if (stack.isEmpty())
return ItemStack.EMPTY;
ItemStack inside = inv.getStackInSlot(i);
if (inside.isEmpty()) {
inv.setInventorySlotContents(i, stack);
return ItemStack.EMPTY;
} else if (RandomHelper.canStacksMerge(inside, stack)) {
stack.shrink(RandomHelper.mergeStacks(stack, inside, true));
}
}
}
return stack;

}

public static ItemStack fillInventory(IItemHandler inv, ItemStack stack) {
if (inv != null) {
for (int i = 0; i < inv.getSlots(); i++) {
if (stack.isEmpty())
return ItemStack.EMPTY;
ItemStack inside = inv.getStackInSlot(i);
if (inside.isEmpty()) {
inv.insertItem(i, stack, false);
return ItemStack.EMPTY;
} else if (RandomHelper.canStacksMerge(inside, stack)) {
stack.shrink(RandomHelper.mergeStacks(stack, inside, true));
}
}
}
return stack;
import java.util.List;
import java.util.Set;

}
class RandomHelper {

public static void noDustRegisterOredictMeltingCasting(Fluid fluid, String ore) {
static void noDustRegisterOredictMeltingCasting(Fluid fluid, String ore) {
ImmutableSet.Builder<Pair<List<ItemStack>, Integer>> builder = ImmutableSet.builder();
Pair<List<ItemStack>, Integer> nuggetOre = Pair.of(OreDictionary.getOres("nugget" + ore),
Material.VALUE_Nugget);
Expand Down
13 changes: 5 additions & 8 deletions src/main/java/com/bartz24/moartinkers/compat/CompatHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,11 @@ public class CompatHelper {
public static List<ItemStack> findItemsWithEnergy(NonNullList<ItemStack> inventory) {
List<ItemStack> stacks = new ArrayList<>();
for (ItemStack stack : inventory) {
if (!stack.isEmpty()) {
if ((stack.hasCapability(CapabilityEnergy.ENERGY, null)
&& stack.getCapability(CapabilityEnergy.ENERGY, null).getEnergyStored() > 0)
|| (stack.getItem() instanceof IEnergyContainerItem
&& ((IEnergyContainerItem) stack.getItem()).getEnergyStored(stack) > 0)) {
stacks.add(stack);
continue;
}
if (!stack.isEmpty() && ((stack.hasCapability(CapabilityEnergy.ENERGY, null)
&& stack.getCapability(CapabilityEnergy.ENERGY, null).getEnergyStored() > 0)
|| (stack.getItem() instanceof IEnergyContainerItem
&& ((IEnergyContainerItem) stack.getItem()).getEnergyStored(stack) > 0))) {
stacks.add(stack);
}
}
return stacks;
Expand Down
6 changes: 0 additions & 6 deletions src/main/java/com/bartz24/moartinkers/proxy/ClientProxy.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package com.bartz24.moartinkers.proxy;

import com.bartz24.moartinkers.References;
import com.bartz24.moartinkers.registry.ModRenderers;

import net.minecraftforge.client.model.obj.OBJLoader;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

Expand All @@ -23,8 +21,4 @@ public void init(FMLInitializationEvent e) {
// ModRenderers.init();
}

public void registerFluidModel(Fluid fluid) {
if (fluid.getBlock() != null)
ModRenderers.mapFluidState(fluid);
}
}
6 changes: 1 addition & 5 deletions src/main/java/com/bartz24/moartinkers/proxy/CommonProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,5 @@ public void postInit(FMLPostInitializationEvent e)
{
//ModCrafting.init();
}

public void registerFluidModel(Fluid fluid)
{

}

}
Loading