Merge remote-tracking branch 'remotes/origin/1.12' into 1.13-prep
# Conflicts: # src/main/java/techreborn/api/fluidreplicator/FluidReplicatorRecipe.java # src/main/java/techreborn/client/container/ContainerPda.java # src/main/java/techreborn/client/gui/TRBuilder.java # src/main/java/techreborn/compat/crafttweaker/CTFusionReactor.java # src/main/java/techreborn/compat/crafttweaker/CTGeneric.java # src/main/java/techreborn/compat/jei/RecipeUtil.java # src/main/java/techreborn/compat/jei/TechRebornJeiPlugin.java # src/main/java/techreborn/compat/jei/alloySmelter/AlloySmelterRecipeCategory.java # src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeCategory.java # src/main/java/techreborn/compat/jei/blastFurnace/BlastFurnaceRecipeCategory.java # src/main/java/techreborn/compat/jei/centrifuge/CentrifugeRecipeCategory.java # src/main/java/techreborn/compat/jei/chemicalReactor/ChemicalReactorRecipeCategory.java # src/main/java/techreborn/compat/jei/compressor/CompressorRecipeCategory.java # src/main/java/techreborn/compat/jei/distillationTower/DistillationTowerRecipeCategory.java # src/main/java/techreborn/compat/jei/extractor/ExtractorRecipeCategory.java # src/main/java/techreborn/compat/jei/fluidReplicator/FluidReplicatorRecipeCategory.java # src/main/java/techreborn/compat/jei/fusionReactor/FusionReactorRecipeCategory.java # src/main/java/techreborn/compat/jei/fusionReactor/FusionReactorRecipeWrapper.java # src/main/java/techreborn/compat/jei/grinder/GrinderRecipeCategory.java # src/main/java/techreborn/compat/jei/implosionCompressor/ImplosionCompressorRecipeCategory.java # src/main/java/techreborn/compat/jei/industrialElectrolyzer/IndustrialElectrolyzerRecipeCategory.java # src/main/java/techreborn/compat/jei/industrialGrinder/IndustrialGrinderRecipeCategory.java # src/main/java/techreborn/compat/jei/industrialSawmill/IndustrialSawmillRecipeCategory.java # src/main/java/techreborn/compat/jei/rollingMachine/RollingMachineRecipeCategory.java # src/main/java/techreborn/compat/jei/vacuumFreezer/VacuumFreezerRecipeCategory.java # src/main/java/techreborn/init/ModBlocks.java # src/main/java/techreborn/init/ModTileEntities.java # src/main/java/techreborn/init/recipes/CraftingTableRecipes.java # src/main/java/techreborn/init/recipes/IndustrialGrinderRecipes.java # src/main/java/techreborn/items/tools/ItemAdvancedDrill.java # src/main/java/techreborn/packets/PacketAutoCraftingTableLock.java # src/main/resources/assets/techreborn/lang/en_us.lang # src/main/resources/assets/techreborn/loot_tables/chests/abandoned_mineshaft.json # src/main/resources/assets/techreborn/loot_tables/chests/desert_pyramid.json # src/main/resources/assets/techreborn/loot_tables/chests/igloo_chest.json # src/main/resources/assets/techreborn/loot_tables/chests/jungle_temple.json # src/main/resources/assets/techreborn/loot_tables/chests/simple_dungeon.json # src/main/resources/assets/techreborn/loot_tables/chests/village_blacksmith.json
This commit is contained in:
commit
6060a97855
77 changed files with 1863 additions and 4017 deletions
|
@ -114,8 +114,8 @@ public class TechRebornWorldGen implements IWorldGenerator {
|
|||
for (OreConfig ore : config) {
|
||||
if (ore.blockName.equals(defaultOre.blockName) && ore.meta == defaultOre.meta) {
|
||||
hasFoundOre = true;
|
||||
ore.state = defaultOre.state; // Should allow for states to
|
||||
// be saved/loaded
|
||||
// Should allow for states to be saved/loaded
|
||||
ore.state = defaultOre.state;
|
||||
}
|
||||
}
|
||||
if (!hasFoundOre) {
|
||||
|
@ -194,52 +194,53 @@ public class TechRebornWorldGen implements IWorldGenerator {
|
|||
boolean genTree = false;
|
||||
List<OreConfig> list = new ArrayList<>();
|
||||
Predicate<IBlockState> predicate = BlockMatcher.forBlock(Blocks.STONE);
|
||||
if (world.provider.isSurfaceWorld()) {
|
||||
list.addAll(getAllGenOresFromList(config.overworldOres));
|
||||
genTree = true;
|
||||
} else if (world.provider.getDimension() == -1) {
|
||||
if (world.provider.getDimension() == -1) {
|
||||
list.addAll(getAllGenOresFromList(config.neatherOres));
|
||||
predicate = BlockMatcher.forBlock(Blocks.NETHERRACK);
|
||||
} else if (world.provider.getDimension() == 1) {
|
||||
list.addAll(getAllGenOresFromList(config.endOres));
|
||||
|
||||
predicate = BlockMatcher.forBlock(Blocks.END_STONE);
|
||||
}
|
||||
|
||||
else if (config.overworldOresInModdedDims || world.provider.getDimension() == 0) {
|
||||
list.addAll(getAllGenOresFromList(config.overworldOres));
|
||||
genTree = true;
|
||||
}
|
||||
|
||||
if (!list.isEmpty() && config.generateOres) {
|
||||
int xPos, yPos, zPos;
|
||||
for (OreConfig ore : list) {
|
||||
WorldGenMinable worldGenMinable = new WorldGenMinable(ore.state, ore.veinSize, predicate);
|
||||
if (ore.state != null) {
|
||||
for (int i = 0; i < ore.veinsPerChunk; i++) {
|
||||
xPos = chunkX * 16 + random.nextInt(16);
|
||||
if (ore.maxYHeight == -1 || ore.minYHeight == -1) {
|
||||
continue;
|
||||
}
|
||||
yPos = ore.minYHeight + random.nextInt(ore.maxYHeight - ore.minYHeight);
|
||||
zPos = chunkZ * 16 + random.nextInt(16);
|
||||
BlockPos pos = new BlockPos(xPos, yPos, zPos);
|
||||
|
||||
if (ore.veinSize < 4){
|
||||
// Workaround for small veins
|
||||
for (int j = 1; j < ore.veinSize; j++) {
|
||||
// standard worldgen offset is added here like in WorldGenMinable#generate
|
||||
BlockPos smallVeinPos = pos.add(8, 0, 8);
|
||||
smallVeinPos.add(random.nextInt(2), random.nextInt(2), random.nextInt(2));
|
||||
IBlockState blockState = world.getBlockState(smallVeinPos);
|
||||
if (blockState.getBlock().isReplaceableOreGen(blockState, world, smallVeinPos, predicate)) {
|
||||
world.setBlockState(smallVeinPos, ore.state, 2);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
worldGenMinable.generate(world, random, pos);
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
Core.logHelper.error("Something bad is happening during world gen the ore "
|
||||
+ ore.blockNiceName
|
||||
+ " caused a crash when generating. Report this to the TechReborn devs with a log");
|
||||
if (ore.state == null) {
|
||||
continue;
|
||||
}
|
||||
for (int i = 0; i < ore.veinsPerChunk; i++) {
|
||||
xPos = chunkX * 16 + random.nextInt(16);
|
||||
if (ore.maxYHeight == -1 || ore.minYHeight == -1) {
|
||||
continue;
|
||||
}
|
||||
yPos = ore.minYHeight + random.nextInt(ore.maxYHeight - ore.minYHeight);
|
||||
zPos = chunkZ * 16 + random.nextInt(16);
|
||||
BlockPos pos = new BlockPos(xPos, yPos, zPos);
|
||||
|
||||
if (ore.veinSize < 4) {
|
||||
// Workaround for small veins
|
||||
for (int j = 1; j < ore.veinSize; j++) {
|
||||
// standard worldgen offset is added here like in WorldGenMinable#generate
|
||||
BlockPos smallVeinPos = pos.add(8, 0, 8);
|
||||
smallVeinPos.add(random.nextInt(2), random.nextInt(2), random.nextInt(2));
|
||||
IBlockState blockState = world.getBlockState(smallVeinPos);
|
||||
if (blockState.getBlock().isReplaceableOreGen(blockState, world, smallVeinPos, predicate)) {
|
||||
world.setBlockState(smallVeinPos, ore.state, 2);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
worldGenMinable.generate(world, random, pos);
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
Core.logHelper.error("Something bad is happening during world gen the ore "
|
||||
+ ore.blockNiceName
|
||||
+ " caused a crash when generating. Report this to the TechReborn devs with a log");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@ public class WorldGenConfig {
|
|||
public boolean generateOres = true;
|
||||
|
||||
public boolean retroGenOres = false;
|
||||
|
||||
public boolean overworldOresInModdedDims = true;
|
||||
|
||||
public List<OreConfig> overworldOres;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue