Configurable components & fixes
This commit is contained in:
parent
c66db54eab
commit
415e683a43
13 changed files with 865 additions and 679 deletions
|
@ -39,10 +39,8 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.crafting.CraftingManager;
|
import net.minecraft.item.crafting.CraftingManager;
|
||||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||||
import net.minecraft.item.crafting.IRecipe;
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
import net.minecraft.util.WeightedRandomChestContent;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraftforge.common.ChestGenHooks;
|
|
||||||
import net.minecraftforge.common.config.Configuration;
|
import net.minecraftforge.common.config.Configuration;
|
||||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||||
import net.minecraftforge.fluids.FluidRegistry;
|
import net.minecraftforge.fluids.FluidRegistry;
|
||||||
|
@ -261,7 +259,10 @@ public class GT_Mod
|
||||||
}
|
}
|
||||||
//GT_Config.troll = (Calendar.getInstance().get(2) + 1 == 4) && (Calendar.getInstance().get(5) >= 1) && (Calendar.getInstance().get(5) <= 2);
|
//GT_Config.troll = (Calendar.getInstance().get(2) + 1 == 4) && (Calendar.getInstance().get(5) >= 1) && (Calendar.getInstance().get(5) <= 2);
|
||||||
new GT_Loader_MaterialProcessing().run();
|
new GT_Loader_MaterialProcessing().run();
|
||||||
|
long startTime = System.nanoTime();
|
||||||
Materials.init();
|
Materials.init();
|
||||||
|
long stopTime = System.nanoTime();
|
||||||
|
System.out.println("##### Mats Init: " + (stopTime - startTime));
|
||||||
|
|
||||||
GT_Log.out.println("GT_Mod: Saving Main Config");
|
GT_Log.out.println("GT_Mod: Saving Main Config");
|
||||||
tMainConfig.save();
|
tMainConfig.save();
|
||||||
|
@ -757,7 +758,7 @@ public class GT_Mod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GT_Log.out.println("GT_Mod: Dungeon Loot");
|
GT_Log.out.println("GT_Mod: Dungeon Loot");
|
||||||
for (WeightedRandomChestContent tContent : ChestGenHooks.getInfo("dungeonChest").getItems(new Random())) {
|
/*for (WeightedRandomChestContent tContent : ChestGenHooks.getInfo("dungeonChest").getItems(new Random())) {
|
||||||
tStacks.add(tContent.theItemId);
|
tStacks.add(tContent.theItemId);
|
||||||
}
|
}
|
||||||
for (WeightedRandomChestContent tContent : ChestGenHooks.getInfo("bonusChest").getItems(new Random())) {
|
for (WeightedRandomChestContent tContent : ChestGenHooks.getInfo("bonusChest").getItems(new Random())) {
|
||||||
|
@ -786,7 +787,7 @@ public class GT_Mod
|
||||||
}
|
}
|
||||||
for (WeightedRandomChestContent tContent : ChestGenHooks.getInfo("mineshaftCorridor").getItems(new Random())) {
|
for (WeightedRandomChestContent tContent : ChestGenHooks.getInfo("mineshaftCorridor").getItems(new Random())) {
|
||||||
tStacks.add(tContent.theItemId);
|
tStacks.add(tContent.theItemId);
|
||||||
}
|
}*/
|
||||||
GT_Log.out.println("GT_Mod: Smelting");
|
GT_Log.out.println("GT_Mod: Smelting");
|
||||||
Object tStack;
|
Object tStack;
|
||||||
for (Iterator i$ = FurnaceRecipes.smelting().getSmeltingList().values().iterator(); i$.hasNext(); tStacks.add((ItemStack) tStack)) {
|
for (Iterator i$ = FurnaceRecipes.smelting().getSmeltingList().values().iterator(); i$.hasNext(); tStacks.add((ItemStack) tStack)) {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +0,0 @@
|
||||||
package gregtech.api.interfaces;
|
|
||||||
|
|
||||||
import gregtech.api.enums.Materials;
|
|
||||||
|
|
||||||
public interface IComponentRegistrator {
|
|
||||||
void registerComponents(Materials aMaterial);
|
|
||||||
}
|
|
|
@ -1,5 +1,9 @@
|
||||||
package gregtech.api.interfaces;
|
package gregtech.api.interfaces;
|
||||||
|
|
||||||
|
import gregtech.api.enums.Materials;
|
||||||
|
|
||||||
public interface IMaterialRegistrator {
|
public interface IMaterialRegistrator {
|
||||||
void onMaterialsInit();
|
void onMaterialsInit();
|
||||||
|
|
||||||
|
void onComponentRegistration(Materials aMaterial);
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,12 +142,17 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public final void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) {
|
public final void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) {
|
||||||
for (int i = 0; i < 32000; i++)
|
for (int i = 0; i < 32000; i++) {
|
||||||
if (doesMaterialAllowGeneration(mGeneratedPrefixList[i / 1000], GregTech_API.sGeneratedMaterials[i % 1000]) && doesShowInCreative(mGeneratedPrefixList[i / 1000], GregTech_API.sGeneratedMaterials[i % 1000], GregTech_API.sDoShowAllItemsInCreative)) {
|
OrePrefixes aPrefix = mGeneratedPrefixList[i / 1000];
|
||||||
ItemStack tStack = new ItemStack(this, 1, i);
|
Materials aMaterial = GregTech_API.sGeneratedMaterials[i % 1000];
|
||||||
isItemStackUsable(tStack);
|
if (aPrefix != null && aMaterial != null) {
|
||||||
aList.add(tStack);
|
if (aMaterial.mComponents.contains(aPrefix) && doesMaterialAllowGeneration(aPrefix, aMaterial) && doesShowInCreative(aPrefix, aMaterial, GregTech_API.sDoShowAllItemsInCreative)) {
|
||||||
|
ItemStack tStack = new ItemStack(this, 1, i);
|
||||||
|
isItemStackUsable(tStack);
|
||||||
|
aList.add(tStack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
super.getSubItems(var1, aCreativeTab, aList);
|
super.getSubItems(var1, aCreativeTab, aList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ import gregtech.api.objects.MaterialStack;
|
||||||
import gregtech.api.util.*;
|
import gregtech.api.util.*;
|
||||||
import gregtech.common.covers.*;
|
import gregtech.common.covers.*;
|
||||||
import gregtech.common.items.behaviors.*;
|
import gregtech.common.items.behaviors.*;
|
||||||
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.enchantment.Enchantment;
|
import net.minecraft.enchantment.Enchantment;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
|
@ -25,7 +24,6 @@ import net.minecraft.item.EnumAction;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -862,6 +860,6 @@ public class GT_MetaGenerated_Item_01
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean doesMaterialAllowGeneration(OrePrefixes aPrefix, Materials aMaterial) {
|
public boolean doesMaterialAllowGeneration(OrePrefixes aPrefix, Materials aMaterial) {
|
||||||
return (super.doesMaterialAllowGeneration(aPrefix, aMaterial)) && ((aPrefix != OrePrefixes.ingotHot) || (aMaterial.mBlastFurnaceTemp > 1750));
|
return (super.doesMaterialAllowGeneration(aPrefix, aMaterial));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
package gregtech.loaders.materialprocessing;
|
|
||||||
|
|
||||||
import gregtech.api.enums.Materials;
|
|
||||||
|
|
||||||
public class ProcessingComponents implements gregtech.api.interfaces.IComponentRegistrator {
|
|
||||||
public ProcessingComponents() {
|
|
||||||
Materials.add(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void registerComponents(Materials aMaterial) {
|
|
||||||
//Disable components by default
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -15,7 +15,12 @@ public class ProcessingConfig implements gregtech.api.interfaces.IMaterialRegist
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (int j = GregTech_API.sMaterialProperties.get("general", "AmountOfCustomMaterialSlots", 16); i < j; i++) {
|
for (int j = GregTech_API.sMaterialProperties.get("general", "AmountOfCustomMaterialSlots", 16); i < j; i++) {
|
||||||
String aID = (i < 10 ? "0" : "") + i;
|
String aID = (i < 10 ? "0" : "") + i;
|
||||||
new Materials(-1, TextureSet.SET_METALLIC, 1.0F, 0, 0, 0, 255, 255, 255, 0, "CustomMat" + aID, 0, 0, 0, 0, false, false, 1, 1, 1, Dyes._NULL, "custom", true, aID);
|
new Materials(-1, TextureSet.SET_METALLIC, 1.0F, 0, 0, 0, 255, 255, 255, 0, "CustomMat" + aID, "CustomMat" + aID, 0, 0, 0, 0, false, false, 1, 1, 1, Dyes._NULL, "custom", true, aID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComponentRegistration(Materials aMaterial) {
|
||||||
|
//NOOP
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -216,7 +216,6 @@ public class GT_Achievements {
|
||||||
if (!GT_Mod.gregtechproxy.mAchievements) {
|
if (!GT_Mod.gregtechproxy.mAchievements) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
;
|
|
||||||
Achievement achievement = new Achievement(textId, textId, this.adjX + x, this.adjY + y, icon, requirement);
|
Achievement achievement = new Achievement(textId, textId, this.adjX + x, this.adjY + y, icon, requirement);
|
||||||
if (special) {
|
if (special) {
|
||||||
achievement.setSpecial();
|
achievement.setSpecial();
|
||||||
|
|
|
@ -109,7 +109,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (aMaterial.mName) {
|
switch (aMaterial.mName) {
|
||||||
case "_NULL":
|
case "NULL":
|
||||||
break;
|
break;
|
||||||
case "Glass":
|
case "Glass":
|
||||||
GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new ItemStack(net.minecraft.init.Blocks.glass));
|
GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new ItemStack(net.minecraft.init.Blocks.glass));
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
|
||||||
gregtech.api.util.GT_RecipeRegistrator.registerUsagesForMaterials(GT_Utility.copyAmount(1L, new Object[]{aStack}), OrePrefixes.plate.get(aMaterial).toString(), !aMaterial.contains(SubTag.NO_SMASHING));
|
gregtech.api.util.GT_RecipeRegistrator.registerUsagesForMaterials(GT_Utility.copyAmount(1L, new Object[]{aStack}), OrePrefixes.plate.get(aMaterial).toString(), !aMaterial.contains(SubTag.NO_SMASHING));
|
||||||
|
|
||||||
switch (aMaterial.mName) {
|
switch (aMaterial.mName) {
|
||||||
case "_NULL":
|
case "NULL":
|
||||||
break;
|
break;
|
||||||
case "Coal":
|
case "Coal":
|
||||||
case "Charcoal":
|
case "Charcoal":
|
||||||
|
|
|
@ -22,7 +22,7 @@ public class ProcessingStone
|
||||||
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
|
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
|
||||||
Block aBlock = GT_Utility.getBlockFromStack(aStack);
|
Block aBlock = GT_Utility.getBlockFromStack(aStack);
|
||||||
switch (aMaterial.mName) {
|
switch (aMaterial.mName) {
|
||||||
case "_NULL":
|
case "NULL":
|
||||||
GT_Values.RA.addAssemblerRecipe(GT_Utility.copyAmount(3L, new Object[]{aStack}), new ItemStack(Blocks.redstone_torch, 2), Materials.Redstone.getMolten(144L), new ItemStack(Items.repeater, 1), 100, 4);
|
GT_Values.RA.addAssemblerRecipe(GT_Utility.copyAmount(3L, new Object[]{aStack}), new ItemStack(Blocks.redstone_torch, 2), Materials.Redstone.getMolten(144L), new ItemStack(Items.repeater, 1), 100, 4);
|
||||||
break;
|
break;
|
||||||
case "Sand":
|
case "Sand":
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
package gregtech.loaders.preload;
|
package gregtech.loaders.preload;
|
||||||
|
|
||||||
import gregtech.api.util.GT_Log;
|
import gregtech.api.util.GT_Log;
|
||||||
import gregtech.loaders.materialprocessing.ProcessingComponents;
|
|
||||||
import gregtech.loaders.materialprocessing.ProcessingConfig;
|
import gregtech.loaders.materialprocessing.ProcessingConfig;
|
||||||
|
|
||||||
public class GT_Loader_MaterialProcessing implements Runnable {
|
public class GT_Loader_MaterialProcessing implements Runnable {
|
||||||
public void run() {
|
public void run() {
|
||||||
GT_Log.out.println("GT_Mod: Register Material processing.");
|
GT_Log.out.println("GT_Mod: Register Material processing.");
|
||||||
new ProcessingConfig();
|
new ProcessingConfig();
|
||||||
new ProcessingComponents();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue