Skip to content

Commit

Permalink
Major update 1.0.0-beta
Browse files Browse the repository at this point in the history
- Added compat code
- Refactored a ton to make adding blocks and items easier
- Small script to generate resources over making 200 resource files manually
- Added additional density level and changed names a bit
- Added hammers for dusts, gems, and other misc ore drops

TODO:
- Ore gen handled in mod
- Rewrite recipe code
  • Loading branch information
uberifix committed Feb 12, 2020
1 parent 39d4d0c commit a046254
Show file tree
Hide file tree
Showing 241 changed files with 4,248 additions and 547 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ build
eclipse
run
classes
GeoExpansionResourceGenerator/output
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
package pxl8;

import java.util.Map;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;

public class GeoExpansionResourceGenerator {
static Map<String, String> resourceMap = new HashMap<>();
static {
resourceMap.put("mc.stone", "minecraft:blocks/stone");
resourceMap.put("mc.andesite", "minecraft:blocks/stone_andesite");
resourceMap.put("mc.diorite", "minecraft:blocks/stone_diorite");
resourceMap.put("mc.granite", "minecraft:blocks/stone_granite");
resourceMap.put("mc.dirt", "minecraft:blocks/dirt");
resourceMap.put("mc.gravel", "minecraft:blocks/gravel");
resourceMap.put("mc.clay", "minecraft:blocks/clay");

resourceMap.put("mc.ore_coal", "minecraft:blocks/coal_ore");
resourceMap.put("mc.ore_iron", "minecraft:blocks/iron_ore");
resourceMap.put("mc.ore_gold", "minecraft:blocks/gold_ore");
resourceMap.put("mc.ore_diamond", "minecraft:blocks/diamond_ore");
resourceMap.put("mc.ore_emerald", "minecraft:blocks/emerald_ore");
resourceMap.put("mc.ore_redstone", "minecraft:blocks/redstone_ore");
resourceMap.put("mc.ore_lapis", "minecraft:blocks/lapis_ore");

resourceMap.put("bm.ore_antimony", "basemetals:blocks/antimony_ore");
resourceMap.put("bm.ore_bismuth", "basemetals:blocks/bismuth_ore");
resourceMap.put("bm.ore_copper", "basemetals:blocks/copper_ore");
resourceMap.put("bm.ore_lead", "basemetals:blocks/lead_ore");
resourceMap.put("bm.ore_mercury", "basemetals:blocks/mercury_ore");
resourceMap.put("bm.ore_nickel", "basemetals:blocks/nickel_ore");
resourceMap.put("bm.ore_platinum", "basemetals:blocks/platinum_ore");
resourceMap.put("bm.ore_silver", "basemetals:blocks/silver_ore");
resourceMap.put("bm.ore_tin", "basemetals:blocks/tin_ore");
resourceMap.put("bm.ore_zinc", "basemetals:blocks/zinc_ore");

resourceMap.put("mm.ore_aluminum", "modernmetals:blocks/aluminum_ore");
resourceMap.put("mm.ore_bauxite", "modernmetals:blocks/bauxite_ore");
resourceMap.put("mm.ore_beryllium", "modernmetals:blocks/beryllium_ore");
resourceMap.put("mm.ore_boron", "modernmetals:blocks/boron_ore");
resourceMap.put("mm.ore_cadmium", "modernmetals:blocks/cadmium_ore");
resourceMap.put("mm.ore_chromium", "modernmetals:blocks/chromium_ore");
resourceMap.put("mm.ore_iridium", "modernmetals:blocks/iridium_ore");
resourceMap.put("mm.ore_magnesium", "modernmetals:blocks/magnesium_ore");
resourceMap.put("mm.ore_manganese", "modernmetals:blocks/manganese_ore");
resourceMap.put("mm.ore_osmium", "modernmetals:blocks/osmium_ore");
resourceMap.put("mm.ore_plutonium", "modernmetals:blocks/plutonium_ore");
resourceMap.put("mm.ore_rutile", "modernmetals:blocks/rutile_ore");
resourceMap.put("mm.ore_tantalum", "modernmetals:blocks/tantalum_ore");
resourceMap.put("mm.ore_thorium", "modernmetals:blocks/thorium_ore");
resourceMap.put("mm.ore_titanium", "modernmetals:blocks/titanium_ore");
resourceMap.put("mm.ore_tungsten", "modernmetals:blocks/tungsten_ore");
resourceMap.put("mm.ore_uranium", "modernmetals:blocks/uranium_ore");
resourceMap.put("mm.ore_zirconium", "modernmetals:blocks/zirconium_ore");

resourceMap.put("tf.ore_copper", "thermalfoundation:blocks/ore/ore_copper");
resourceMap.put("tf.ore_tin", "thermalfoundation:blocks/ore/ore_tin");
resourceMap.put("tf.ore_silver", "thermalfoundation:blocks/ore/ore_silver");
resourceMap.put("tf.ore_lead", "thermalfoundation:blocks/ore/ore_lead");
resourceMap.put("tf.ore_aluminum", "thermalfoundation:blocks/ore/ore_aluminum");
resourceMap.put("tf.ore_nickel", "thermalfoundation:blocks/ore/ore_nickel");
resourceMap.put("tf.ore_platinum", "thermalfoundation:blocks/ore/ore_platinum");
resourceMap.put("tf.ore_iridium", "thermalfoundation:blocks/ore/ore_iridium");
resourceMap.put("tf.ore_mithril", "thermalfoundation:blocks/ore/ore_mithril");
resourceMap.put("tf.ore_fluid_redstone", "thermalfoundation:blocks/ore/ore_fluid_redstone");

resourceMap.put("ie.ore_copper", "immersiveengineering:blocks/ore_copper");
resourceMap.put("ie.ore_aluminum", "immersiveengineering:blocks/ore_aluminum");
resourceMap.put("ie.ore_lead", "immersiveengineering:blocks/ore_lead");
resourceMap.put("ie.ore_silver", "immersiveengineering:blocks/ore_silver");
resourceMap.put("ie.ore_nickel", "immersiveengineering:blocks/ore_nickel");
resourceMap.put("ie.ore_uranium", "immersiveengineering:blocks/ore_uranium");

resourceMap.put("tr.ore_galena", "techreborn:blocks/ore/galena_ore");
resourceMap.put("tr.ore_iridium", "techreborn:blocks/ore/iridium_ore");
resourceMap.put("tr.ore_ruby", "techreborn:blocks/ore/ruby_ore");
resourceMap.put("tr.ore_sapphire", "techreborn:blocks/ore/sapphire_ore");
resourceMap.put("tr.ore_bauxite", "techreborn:blocks/ore/bauxite_ore");
resourceMap.put("tr.ore_lead", "techreborn:blocks/ore/lead_ore");
resourceMap.put("tr.ore_silver", "techreborn:blocks/ore/silver_ore");
resourceMap.put("tr.ore_copper", "techreborn:blocks/ore/copper_ore");
resourceMap.put("tr.ore_tin", "techreborn:blocks/ore/tin_ore");

resourceMap.put("fr.ore_apatite", "forestry:blocks/ores/apatite");
resourceMap.put("fr.ore_copper", "forestry:blocks/ores/copper");
resourceMap.put("fr.ore_tin", "forestry:blocks/ores/tin");

resourceMap.put("bp.ore_teslatite", "bluepower:blocks/teslatite_ore");
resourceMap.put("bp.ore_ruby", "bluepower:blocks/ruby_ore");
resourceMap.put("bp.ore_sapphire", "bluepower:blocks/sapphire_ore");
resourceMap.put("bp.ore_amethyst", "bluepower:blocks/amethyst_ore");
resourceMap.put("bp.ore_copper", "bluepower:blocks/copper_ore");
resourceMap.put("bp.ore_silver", "bluepower:blocks/silver_ore");
resourceMap.put("bp.ore_zinc", "bluepower:blocks/zinc_ore");
resourceMap.put("bp.ore_tungsten", "bluepower:blocks/tungsten_ore");

resourceMap.put("ae.ore_quartz", "appliedenergistics2:blocks/quartz_ore");
resourceMap.put("ae.ore_charged_quartz", "appliedenergistics2:blocks/charged_quartz_ore");

resourceMap.put("er.ore_yellorite", "bigreactors:blocks/oreYellorite");

resourceMap.put("em.ore_copper", "embers:blocks/ore_copper_vanilla");
resourceMap.put("em.ore_lead", "embers:blocks/ore_lead_vanilla");
resourceMap.put("em.ore_silver", "embers:blocks/ore_silver_vanilla");
resourceMap.put("em.ore_aluminum", "embers:blocks/ore_aluminum_vanilla");
resourceMap.put("em.ore_nickel", "embers:blocks/ore_nickel_vanilla");
resourceMap.put("em.ore_tin", "embers:blocks/ore_tin_vanilla");
resourceMap.put("em.ore_quartz", "embers:blocks/ore_quartz");

resourceMap.put("mk.ore_osmium", "mekanism:blocks/osmiumore");
resourceMap.put("mk.ore_copper", "mekanism:blocks/copperore");
resourceMap.put("mk.ore_tin", "mekanism:blocks/tinore");

resourceMap.put("ad.ore_sticky", "aroma1997sdimension:blocks/stickyore");
resourceMap.put("ad.ore_clay", "aroma1997sdimension:blocks/clayore");

resourceMap.put("qk.basalt", "quark:blocks/stone_basalt");
resourceMap.put("qk.marble", "quark:blocks/stone_marble");
resourceMap.put("qk.limestone", "quark:blocks/stone_limestone");
resourceMap.put("qk.jasper", "quark:blocks/stone_jasper");
resourceMap.put("qk.slate", "quark:blocks/stone_slate");

//resourceMap.put("", "");
}

static void genResources() {
File dirBlockstate = new File("output/assets/geoexpansion/blockstates/"); dirBlockstate.mkdirs();
File dirItemmodel = new File("output/assets/geoexpansion/models/item/"); dirItemmodel.mkdirs();

for (String file : resourceMap.keySet()) {
BufferedWriter blockstate = null;
BufferedWriter itemmodel = null;
System.out.println("Creating: " + file + ".json");

try {
File fileBlockstate = new File(dirBlockstate, file + ".json");
File fileItemmodel = new File(dirItemmodel, file + ".json");

blockstate = new BufferedWriter(new FileWriter(fileBlockstate));
itemmodel = new BufferedWriter(new FileWriter(fileItemmodel));

blockstate.write("{\n");
blockstate.write(" \"forge_marker\": 1,\n");
blockstate.write(" \"defaults\": {\n");
blockstate.write(" \"model\": \"geoexpansion:tinted_block\",\n");
blockstate.write(" \"textures\": {\n");
blockstate.write(" \"particle\": \"" + resourceMap.get(file) + "\",\n");
blockstate.write(" \"all\": \"" + resourceMap.get(file) + "\"\n");
blockstate.write(" },\n");
blockstate.write(" \"uvlock\": true\n");
blockstate.write(" },\n");
blockstate.write(" \"variants\": {\n");
blockstate.write(" \"density\": {\n");
blockstate.write(" \"soft\": {},\n");
blockstate.write(" \"firm\": {},\n");
blockstate.write(" \"solid\": {},\n");
blockstate.write(" \"hard\": {}\n");
blockstate.write(" }\n");
blockstate.write(" }\n");
blockstate.write("}\n");
blockstate.close();

itemmodel.write("{\n");
itemmodel.write(" \"parent\": \"block/cube_all\",\n");
itemmodel.write(" \"textures\": {\n");
itemmodel.write(" \"all\": \"" + resourceMap.get(file) + "\"\n");
itemmodel.write(" }\n");
itemmodel.write("}\n");
itemmodel.close();

} catch (IOException e) {
System.err.println("Caught IOException: " + e.getMessage());
}
}
}

public static void main(String[] args) {
System.out.println("Running Resource Generator");
genResources();
}
}
5 changes: 2 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.


version = "1.12.2-0.1.0"
version = "1.12.2-1.0.0-beta"
group = "network.pxl8.geoexpansion"
archivesBaseName = "geoexpansion"

Expand Down Expand Up @@ -49,8 +49,7 @@ repositories {
}

dependencies {
deobfCompile "mcjty.theoneprobe:TheOneProbe-${top_version}"
deobfCompile "cofh:RedstoneFlux:${redstoneflux_version}"

}

processResources {
Expand Down
11 changes: 11 additions & 0 deletions compat_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,17 @@
|# **Aroma Dim** ad.
|oreSticky |aroma1997sdimension:miningore/0 |minecraft:slime_ball |minecraft:slime_ball |aroma1997sdimension:blocks/stickyore
|oreClay |aroma1997sdimension:miningore/1 |minecraft:clay_ball |minecraft:clay_ball |aroma1997sdimension:blocks/clayore
|# **Embers**
|oreCopper |embers:ore_copper |embers:ingot_copper |null |embers:blocks/ore_copper_vanilla
|oreLead |embers:ore_lead |embers:ingot_lead |null |embers:blocks/ore_lead_vanilla
|oreSilver |embers:ore_silver |embers:ingot_silver |null |embers:blocks/ore_silver_vanilla
|oreAluminum |embers:ore_aluminum |embers:ingot_aluminum |null |embers:blocks/ore_aluminum_vanilla
|oreNickel |embers:ore_nickel |embers:ingot_nickel |null |embers:blocks/ore_nickel_vanilla
|oreTin |embers:ore_tin |embers:ingot_tin |null |embers:blocks/ore_tin_vanilla
|# **Mekanism**
|oreOsmium |mekanism:oreblock/0 |mekanism:ingot/1 |mekanism:dust/2 |mekanism:blocks/osmiumore
|oreCopper |mekanism:oreblock/1 |mekanism:ingot/5 |mekanism:dust/3 |mekanism:blocks/copperore
|oreTin |mekanism:oreblock/2 |mekanism:ingot/6 |mekanism:dust/4 |mekanism:blocks/tinore
|## **Stone**
|# **Quark** qk.
|stoneBasalt |quark:basalt | | |quark:blocks/basalt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,43 @@
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import network.pxl8.geoexpansion.config.Conf;
import network.pxl8.geoexpansion.lib.LibMeta;

import java.util.Random;

public class BlockOre extends BlockTintedBase {
private String oreDrop;
private Random random = new Random();

BlockOre(String name, Float hardness, String drop) {
super(name, hardness, "pickaxe");
BlockOre(String name, Float hardness, String replacedBlock, String drop) {
super(name, hardness, "pickaxe", replacedBlock);

this.oreDrop = drop;
}

@Override
public void getDrops(NonNullList<ItemStack> items, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
items.clear();
Item drop = Item.getByNameOrId(oreDrop);
float dropBase = 1.0F;
if (state.getValue(PROPERTY_DENSITY) == EnumDensity.SOFT) { dropBase = Conf.ore_config.DROP_BASE_SOFT; }
else if (state.getValue(PROPERTY_DENSITY) == EnumDensity.HARD) { dropBase = Conf.ore_config.DROP_BASE_HARD; }
else if (state.getValue(PROPERTY_DENSITY) == EnumDensity.DENSE) { dropBase = Conf.ore_config.DROP_BASE_DENSE; }
Item drop = Item.getByNameOrId(oreDrop);

float fortuneMult = 1.0F + (((1.0F/(fortune + 2.0F) + (fortune + 1.0F)/2.0F) - 1.0F) * random.nextFloat());
int dropsMultiplied = Math.round(dropBase * fortuneMult);
if (state.getValue(LibMeta.PROPERTY_DENSITY) == EnumDensity.SOFT) {
dropBase = Conf.ore_config.DROP_BASE_1_SOFT;
} else if (state.getValue(LibMeta.PROPERTY_DENSITY) == EnumDensity.FIRM) {
dropBase = Conf.ore_config.DROP_BASE_2_FIRM;
} else if (state.getValue(LibMeta.PROPERTY_DENSITY) == EnumDensity.SOLID) {
dropBase = Conf.ore_config.DROP_BASE_3_SOLID;
} else if (state.getValue(LibMeta.PROPERTY_DENSITY) == EnumDensity.HARD) {
dropBase = Conf.ore_config.DROP_BASE_4_HARD;
}

items.add(new ItemStack(drop, dropsMultiplied));
if (drop != null) {
float fortuneMult = 1.0F + (((1.0F / (fortune + 2.0F) + (fortune + 1.0F) / 2.0F) - 1.0F) * random.nextFloat());
int dropsMultiplied = Math.round(dropBase * fortuneMult);

items.add(new ItemStack(drop, dropsMultiplied));
}
}

@Override public boolean canSilkHarvest() { return false; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,37 @@

import com.google.common.base.Predicate;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import network.pxl8.geoexpansion.lib.LibTools;

public class BlockStone extends BlockTintedBase {
private ItemStack blockDrop;
private ItemStack silkBlockDrop;
private IBlockState replacedBlock;
private String blockDrop;
private String silkBlockDrop;

BlockStone(String name, String harvestTool, Float hardness, IBlockState replacedBlock, ItemStack drop) {
BlockStone(String name, String harvestTool, Float hardness, String replacedBlock, String drop) {
this(name, harvestTool, hardness, replacedBlock, drop, drop);
}

BlockStone(String name, String harvestTool, Float hardness, IBlockState replacedBlock, ItemStack drop, ItemStack silkDrop) {
super(name, hardness, harvestTool);
BlockStone(String name, String harvestTool, Float hardness, String replacedBlock, String drop, String silkDrop) {
super(name, hardness, harvestTool, replacedBlock);

this.blockDrop = drop;
this.silkBlockDrop = silkDrop;
this.replacedBlock = replacedBlock;
}

public IBlockState getBlockToReplace() {
return this.replacedBlock;
}

@Override
public void getDrops(NonNullList<ItemStack> items, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
items.clear();
items.add(blockDrop);
items.add(LibTools.getStackFromString(blockDrop));
}

@Override
protected ItemStack getSilkTouchDrop(IBlockState state) {
return silkBlockDrop;
return LibTools.getStackFromString(blockDrop);
}

@Override
Expand Down
Loading

0 comments on commit a046254

Please sign in to comment.