Initial work on ores flattening

This commit is contained in:
drcrazy 2018-09-10 16:45:04 +03:00
parent 35669641ba
commit 916c8c5ba4
13 changed files with 248 additions and 450 deletions

View file

@ -34,7 +34,6 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.oredict.OreDictionary;
import reborncore.RebornRegistry;
import reborncore.common.util.OreUtil;
import reborncore.common.util.StringUtils;
import techreborn.Core;
import techreborn.blocks.*;
import techreborn.blocks.cable.BlockCable;
@ -57,96 +56,107 @@ import techreborn.lib.ModInfo;
* Registers all TR blocks
*/
public class ModBlocks {
public static Block THERMAL_GENERATOR;
public static Block QUANTUM_TANK;
public static Block CREATIVE_QUANTUM_TANK;
public static Block QUANTUM_CHEST;
public static Block CREATIVE_QUANTUM_CHEST;
public static Block DIGITAL_CHEST;
public static Block INDUSTRIAL_CENTRIFUGE;
public static Block ROLLING_MACHINE;
public static Block MACHINE_CASINGS;
public static Block INDUSTRIAL_BLAST_FURNACE;
public static Block ALLOY_SMELTER;
public static Block INDUSTRIAL_GRINDER;
public static Block IMPLOSION_COMPRESSOR;
public static Block MATTER_FABRICATOR;
public static Block CHUNK_LOADER;
public static Block DRAGON_EGG_SYPHON;
public static Block MAGIC_ENERGY_CONVERTER;
public static Block ASSEMBLY_MACHINE;
public static Block DIESEL_GENERATOR;
public static Block INDUSTRIAL_ELECTROLYZER;
public static Block MAGICAL_ABSORBER;
public static Block SEMI_FLUID_GENERATOR;
public static Block GAS_TURBINE;
public static Block IRON_ALLOY_FURNACE;
public static Block CHEMICAL_REACTOR;
public static Block INTERDIMENSIONAL_SU;
public static Block ADJUSTABLE_SU;
public static Block LAPOTRONIC_SU;
public static Block LSU_STORAGE;
public static Block DISTILLATION_TOWER;
public static Block VACUUM_FREEZER;
public static Block FUSION_CONTROL_COMPUTER;
public static Block FUSION_COIL;
public static Block LIGHTNING_ROD;
public static Block INDUSTRIAL_SAWMILL;
public static Block CHARGE_O_MAT;
public static Block PLAYER_DETECTOR;
public static Block GRINDER;
public static Block SOLID_FUEL_GENEREATOR;
public static Block COMPRESSOR;
public static Block EXTRACTOR;
public static Block ELECTRIC_FURNACE;
public static Block SOLAR_PANEL;
public static Block CREATIVE_SOLAR_PANEL;
public static Block WATER_MILL;
public static Block WIND_MILL;
public static Block RECYCLER;
public static Block LOW_VOLTAGE_SU;
public static Block MEDIUM_VOLTAGE_SU;
public static Block HIGH_VOLTAGE_SU;
public static Block SCRAPBOXINATOR;
public static Block LV_TRANSFORMER;
public static Block MV_TRANSFORMER;
public static Block HV_TRANSFORMER;
public static Block AUTO_CRAFTING_TABLE;
public static BlockOre ORE;
public static BlockOre2 ORE2;
// Storage Blocks
public static Block STORAGE;
public static Block STORAGE2;
public static Block MACHINE_FRAMES;
public static Block REINFORCED_GLASS;
// Misc Blocks
public static Block CABLE;
public static Block COMPUTER_CUBE;
public static Block FLARE;
public static Block IRON_FURNACE;
public static Block NUKE;
public static Block REFINED_IRON_FENCE;
public static Block REINFORCED_GLASS;
public static Block RUBBER_LEAVES;
public static Block RUBBER_LOG;
public static Block RUBBER_LOG_SLAB_HALF;
public static Block RUBBER_LOG_SLAB_DOUBLE;
public static Block RUBBER_LOG_STAIR;
public static Block RUBBER_LEAVES;
public static Block RUBBER_SAPLING;
public static Block RUBBER_PLANKS;
public static Block REFINED_IRON_FENCE;
public static Block FLARE;
public static Block CABLE;
public static Block COMPUTER_CUBE;
// Machines - machines
public static Block ALLOY_SMELTER;
public static Block ASSEMBLY_MACHINE;
public static Block AUTO_CRAFTING_TABLE;
public static Block CHEMICAL_REACTOR;
public static Block COMPRESSOR;
public static Block DISTILLATION_TOWER;
public static Block ELECTRIC_FURNACE;
public static Block EXTRACTOR;
public static Block FLUID_REPLICATOR;
public static Block GRINDER;
public static Block IMPLOSION_COMPRESSOR;
public static Block INDUSTRIAL_BLAST_FURNACE;
public static Block INDUSTRIAL_CENTRIFUGE;
public static Block INDUSTRIAL_ELECTROLYZER;
public static Block INDUSTRIAL_GRINDER;
public static Block INDUSTRIAL_SAWMILL;
public static Block IRON_ALLOY_FURNACE;
public static Block MATTER_FABRICATOR;
public static Block RECYCLER;
public static Block ROLLING_MACHINE;
public static Block SCRAPBOXINATOR;
public static Block VACUUM_FREEZER;
// Machines - generators
public static Block CREATIVE_SOLAR_PANEL;
public static Block DIESEL_GENERATOR;
public static Block DRAGON_EGG_SYPHON;
public static Block FUSION_COIL;
public static Block FUSION_CONTROL_COMPUTER;
public static Block GAS_TURBINE;
public static Block LIGHTNING_ROD;
public static Block PLASMA_GENERATOR;
public static Block SEMI_FLUID_GENERATOR;
public static Block SOLAR_PANEL;
public static Block SOLID_FUEL_GENEREATOR;
public static Block THERMAL_GENERATOR;
public static Block WATER_MILL;
public static Block WIND_MILL;
// Machines - storage
public static Block CREATIVE_QUANTUM_CHEST;
public static Block CREATIVE_QUANTUM_TANK;
public static Block DIGITAL_CHEST;
public static Block QUANTUM_CHEST;
public static Block QUANTUM_TANK;
// Machines - energy storage & transformers
public static Block ADJUSTABLE_SU;
public static Block CHARGE_O_MAT;
public static Block INTERDIMENSIONAL_SU;
public static Block LAPOTRONIC_SU;
public static Block LSU_STORAGE;
public static Block LOW_VOLTAGE_SU;
public static Block MEDIUM_VOLTAGE_SU;
public static Block HIGH_VOLTAGE_SU;
public static Block LV_TRANSFORMER;
public static Block MV_TRANSFORMER;
public static Block HV_TRANSFORMER;
// Machines - misc
public static Block ALARM;
public static Block CHUNK_LOADER;
public static Block LAMP_INCANDESCENT;
public static Block LAMP_LED;
public static Block ALARM;
public static Block FLUID_REPLICATOR;
public static Block MAGICAL_ABSORBER;
public static Block MAGIC_ENERGY_CONVERTER;
public static Block PLAYER_DETECTOR;
public static Block MACHINE_CASINGS;
public static Block MACHINE_FRAMES;
/**
* Register blocks
*/
public static void init() {
TRIngredients.registerBlocks();
THERMAL_GENERATOR = new BlockThermalGenerator();
registerBlock(THERMAL_GENERATOR, "thermal_generator");
@ -201,11 +211,11 @@ public class ModBlocks {
MACHINE_CASINGS = new BlockMachineCasing();
registerBlock(MACHINE_CASINGS, ItemBlockMachineCasing.class, "machine_casing");
ORE = new BlockOre();
registerBlock(ORE, ItemBlockOre.class, "ore");
ORE2 = new BlockOre2();
registerBlock(ORE2, ItemBlockOre2.class, "ore2");
// ORE = new BlockOre();
// registerBlock(ORE, ItemBlockOre.class, "ore");
//
// ORE2 = new BlockOre2();
// registerBlock(ORE2, ItemBlockOre2.class, "ore2");
STORAGE = new BlockStorage();
registerBlock(STORAGE, ItemBlockStorage.class, "storage");
@ -433,13 +443,11 @@ public class ModBlocks {
* Register ores and ore blocks
*/
public static void registerOreDict() {
for (String ore : BlockOre.ores) {
OreUtil.registerOre("ore" + StringUtils.toFirstCapital(ore), BlockOre.getOreByName(ore));
}
// TODO: Fix block
// for (String ore : BlockOre.ores) {
// OreUtil.registerOre("ore" + StringUtils.toFirstCapital(ore), BlockOre.getOreByName(ore));
// }
for (String ore : BlockOre2.ores) {
OreUtil.registerOre("ore" + StringUtils.toFirstCapital(ore), BlockOre2.getOreByName(ore));
}
OreUtil.registerOre("blockSilver", BlockStorage.getStorageBlockByName("silver"));
OreUtil.registerOre("blockAluminum", BlockStorage.getStorageBlockByName("aluminum"));

View file

@ -149,21 +149,25 @@ public class SubItemRetriever implements ISubItemRetriever {
@Override
public ItemStack getOreByName(String name) {
return BlockOre.getOreByName(name);
// return BlockOre.getOreByName(name);
return null;
}
@Override
public ItemStack getOreByName(String name, int count) {
return BlockOre.getOreByName(name, count);
// return BlockOre.getOreByName(name, count);
return null;
}
@Override
public ItemStack getStorageBlockByName(String name) {
return BlockStorage.getStorageBlockByName(name);
// return BlockStorage.getStorageBlockByName(name);
return null;
}
@Override
public ItemStack getStorageBlockByName(String name, int count) {
return BlockStorage.getStorageBlockByName(name, count);
// return BlockStorage.getStorageBlockByName(name, count);
return null;
}
}

View file

@ -27,6 +27,7 @@ import java.util.Arrays;
import com.google.common.base.CaseFormat;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -36,6 +37,9 @@ import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornRegistry;
import reborncore.client.models.ModelCompound;
import reborncore.client.models.RebornModelRegistry;
import techreborn.blocks.BlockOre;
import techreborn.events.TRRecipeHandler;
import techreborn.items.ItemTR;
import techreborn.lib.ModInfo;
@ -46,7 +50,14 @@ import techreborn.lib.ModInfo;
*/
public class TRIngredients {
public static void register() {
public static void registerBlocks() {
Arrays.stream(Ores.values()).forEach(value -> RebornRegistry.registerBlock(value.block));
}
public static void registerItems() {
Arrays.stream(Dusts.values()).forEach(value -> RebornRegistry.registerItem(value.item));
Arrays.stream(DustsSmall.values()).forEach(value -> RebornRegistry.registerItem(value.item));
Arrays.stream(Gems.values()).forEach(value -> RebornRegistry.registerItem(value.item));
@ -56,6 +67,7 @@ public class TRIngredients {
Arrays.stream(Plates.values()).forEach(value -> RebornRegistry.registerItem(value.item));
}
@SideOnly(Side.CLIENT)
public static void registerModel() {
ResourceLocation dustsRL = new ResourceLocation(ModInfo.MOD_ID, "items/materials/dusts");
@ -86,6 +98,29 @@ public class TRIngredients {
Arrays.stream(Plates.values()).forEach(value -> ModelLoader.setCustomModelResourceLocation(value.item, 0,
new ModelResourceLocation(platesRL, "type=" + value.name)));
}
public static enum Ores implements IStringSerializable {
BAUXITE, CINNABAR, COPPER, GALENA, IRIDIUM, LEAD, PERIDOT, PYRITE, RUBY, SAPPHIRE, SHELDONITE, SILVER, SODALITE,
SPHALERITE, TIN, TUNGSTEN;
public final String name;
public final Block block;
private Ores() {
name = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "ORE_" + this.toString());
block = new BlockOre();
block.setRegistryName(new ResourceLocation(ModInfo.MOD_ID, name));
block.setTranslationKey(ModInfo.MOD_ID + ".ore." + this.toString().toLowerCase());
RebornModelRegistry.registerModel(new ModelCompound(ModInfo.MOD_ID, block).setInvVariant("type=" + name).setFileName("ores"));
TRRecipeHandler.hideEntry(block);
}
@Override
public String getName() {
return name;
}
}
public static enum Dusts implements IStringSerializable {
ALMANDINE, ALUMINUM, ANDESITE, ANDRADITE, ASHES, BASALT, BAUXITE, BRASS, BRONZE, CALCITE, CHARCOAL, CHROME,

View file

@ -160,7 +160,7 @@ public class TRItems {
public static void init() {
TRIngredients.register();
TRIngredients.registerItems();
// Armor
CLOAKING_DEVICE = new ItemCloakingDevice();

View file

@ -42,7 +42,8 @@ public class FusionReactorRecipes extends RecipeMethods {
ItemCells.getCellByName("deuterium"), ItemCells.getCellByName("helium3"), 60000000, 16384, 2048));
FusionReactorRecipeHelper.registerRecipe(new FusionReactorRecipe(ItemCells.getCellByName("wolframium"),
ItemCells.getCellByName("Berylium"), TRIngredients.Dusts.PLATINUM.getStack(), 80000000, -2048, 1024));
FusionReactorRecipeHelper.registerRecipe(new FusionReactorRecipe(ItemCells.getCellByName("wolframium"),
ItemCells.getCellByName("lithium"), BlockOre.getOreByName("iridium"), 90000000, -2048, 1024));
// TODO: Fix recipe
// FusionReactorRecipeHelper.registerRecipe(new FusionReactorRecipe(ItemCells.getCellByName("wolframium"),
// ItemCells.getCellByName("lithium"), BlockOre.getOreByName("iridium"), 90000000, -2048, 1024));
}
}

View file

@ -68,8 +68,8 @@ public abstract class RecipeMethods {
return BlockMachineCasing.getStackByName(name, count);
// } else if (type == Type.UPGRADE) {
// return ItemUpgrades.getUpgradeByName(name, count);
} else if (type == Type.ORE) {
return BlockOre.getOreByName(name, count);
// } else if (type == Type.ORE) {
// return BlockOre.getOreByName(name, count);
}
return ItemStack.EMPTY;
}

View file

@ -28,7 +28,6 @@ import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import reborncore.common.util.RebornCraftingHelper;
import techreborn.blocks.BlockOre;
import techreborn.blocks.BlockOre2;
import techreborn.init.TRIngredients;
/**
@ -40,8 +39,8 @@ public class SmeltingRecipes extends RecipeMethods {
register(getStack(Items.IRON_INGOT), TRIngredients.Ingots.REFINED_IRON.getStack());
register(TRIngredients.Parts.SAP.getStack(), TRIngredients.Parts.RUBBER.getStack());
register(TRIngredients.Ingots.MIXED_METAL.getStack(), TRIngredients.Ingots.ADVANCED_ALLOY.getStack());
register(BlockOre.getOreByName("silver"), TRIngredients.Ingots.SILVER.getStack());
register(BlockOre2.getOreByName("tin"), TRIngredients.Ingots.TIN.getStack());
// register(BlockOre.getOreByName("silver"), TRIngredients.Ingots.SILVER.getStack());
// register(BlockOre2.getOreByName("tin"), TRIngredients.Ingots.TIN.getStack());
// TODO: Fix recipe
// register(BlockOre2.getOreByName("copper"), getMaterial("copper", Type.INGOT));