more oil recipes, detectable bedrock ores

This commit is contained in:
Boblet 2023-03-06 16:13:07 +01:00
parent 0df987b689
commit 469a624966
16 changed files with 58 additions and 9 deletions

View File

@ -69,6 +69,7 @@ public class PowderRecipes {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 2), new Object[] { COAL.dust(), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 4), new Object[] { F.dust(), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 8), new Object[] { PB.dust(), S.dust(), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 12), new Object[] { CA.dust(), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 16), new Object[] { BORAX.dust(), KEY_SAND });
//Unleash the colores

View File

@ -299,7 +299,7 @@ public class CentrifugeRecipes extends SerializableRecipe {
recipes.put(new ComparableStack(ModBlocks.block_slag), new ItemStack[] {
new ItemStack(Blocks.gravel, 1),
new ItemStack(ModItems.powder_fire, 1),
new ItemStack(Items.dye, 1, 15), //temp
new ItemStack(ModItems.powder_calcium), //temp
new ItemStack(ModItems.dust) });
for(EnumBedrockOre ore : EnumBedrockOre.values()) {

View File

@ -108,16 +108,24 @@ public class ChemplantRecipes extends SerializableRecipe {
.inputItems(new OreDictStack(S.dust()))
.inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500))
.outputItems(new ItemStack(ModItems.ingot_rubber)));
recipes.add(new ChemRecipe(83, "TNT", 150)
.inputItems(new OreDictStack(KNO.dust()))
.inputFluids(new FluidStack(Fluids.AROMATICS, 500))
.outputItems(new ItemStack(ModItems.ball_tnt, 4)));
recipes.add(new ChemRecipe(94, "PET", 100)
.inputItems(new OreDictStack(AL.dust()))
.inputFluids(new FluidStack(Fluids.XYLENE, 500))
.outputItems(new ItemStack(ModItems.ingot_pet)));
recipes.add(new ChemRecipe(89, "DYNAMITE", 50)
.inputItems(
new ComparableStack(Items.sugar),
new OreDictStack(KNO.dust()),
new OreDictStack("sand"))
.outputItems(new ItemStack(ModItems.ball_dynamite, 2)));
recipes.add(new ChemRecipe(83, "TNT", 150)
.inputItems(new OreDictStack(KNO.dust()))
.inputFluids(new FluidStack(Fluids.AROMATICS, 500))
.outputItems(new ItemStack(ModItems.ball_tnt, 4)));
recipes.add(new ChemRecipe(95, "TATB", 50)
.inputItems(new ComparableStack(ModItems.ball_tnt))
.inputFluids(new FluidStack(Fluids.SOURGAS, 200), new FluidStack(Fluids.NITRIC_ACID, 10))
.outputItems(new ItemStack(ModItems.ball_tatb)));
recipes.add(new ChemRecipe(84, "C4", 150)
.inputItems(new OreDictStack(KNO.dust()))
.inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500))

View File

@ -33,6 +33,8 @@ public class CrackingRecipes extends SerializableRecipe {
public static final int kero_crack_petro = 60;
public static final int wood_crack_aroma = 10;
public static final int wood_crack_heat = 40;
public static final int xyl_crack_aroma = 80;
public static final int xyl_crack_petro = 20;
private static Map<FluidType, Pair<FluidStack, FluidStack>> cracking = new HashMap();
@ -46,6 +48,7 @@ public class CrackingRecipes extends SerializableRecipe {
cracking.put(Fluids.DIESEL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro)));
cracking.put(Fluids.KEROSENE, new Pair(new FluidStack(Fluids.PETROLEUM, kero_crack_petro), new FluidStack(Fluids.NONE, 0)));
cracking.put(Fluids.WOODOIL, new Pair(new FluidStack(Fluids.HEATINGOIL, wood_crack_heat), new FluidStack(Fluids.AROMATICS, wood_crack_aroma)));
cracking.put(Fluids.XYLENE, new Pair(new FluidStack(Fluids.AROMATICS, xyl_crack_aroma), new FluidStack(Fluids.PETROLEUM, xyl_crack_petro)));
}
public static Pair<FluidStack, FluidStack> getCracking(FluidType oil) {

View File

@ -10,8 +10,10 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.BlockEnums.EnumStoneType;
import com.hbm.blocks.generic.BlockBobble.BobbleType;
import com.hbm.interfaces.Untested;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems;
@ -198,6 +200,7 @@ public class ShredderRecipes extends SerializableRecipe {
ShredderRecipes.setRecipe(Items.reeds, new ItemStack(Items.sugar, 3));
ShredderRecipes.setRecipe(Items.apple, new ItemStack(Items.sugar, 1));
ShredderRecipes.setRecipe(Items.carrot, new ItemStack(Items.sugar, 1));
ShredderRecipes.setRecipe(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.LIMESTONE), new ItemStack(ModItems.powder_calcium, 4));
List<ItemStack> logs = OreDictionary.getOres("logWood");
List<ItemStack> planks = OreDictionary.getOres("plankWood");

View File

@ -94,6 +94,7 @@ public class ItemModLens extends ItemArmorMod implements ISatChip {
if(addIf(ModBlocks.deco_loot, b, 1, aX, seg, aZ, null, 0x800000, player)) hits++;
if(addIf(ModBlocks.crate_ammo, b, 1, aX, seg, aZ, null, 0x800000, player)) hits++;
if(addIf(ModBlocks.crate_can, b, 1, aX, seg, aZ, null, 0x800000, player)) hits++;
if(addIf(ModBlocks.ore_bedrock, b, 1, aX, seg, aZ, "Bedrock Ore", 0xff0000, player)) hits++;
if(hits > 100) return;
}

View File

@ -1,6 +1,7 @@
package com.hbm.items.tool;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre;
import com.hbm.items.ModItems;
import net.minecraft.block.Block;
@ -19,15 +20,16 @@ public class ItemSurveyScanner extends Item {
if(!world.isRemote) {
int x = (int)Math.floor(player.posX);
int y = (int)Math.floor(player.posY);
int z = (int)Math.floor(player.posZ);
int x = (int) Math.floor(player.posX);
int y = (int) Math.floor(player.posY);
int z = (int) Math.floor(player.posZ);
boolean hasOil = false;
boolean hasColtan = false;
boolean hasDepth = false;
boolean hasSchist = false;
boolean hasAussie = false;
TileEntityBedrockOre tile = null;
for(int a = -5; a <= 5; a++) {
for(int b = -5; b <= 5; b++) {
@ -46,6 +48,12 @@ public class ItemSurveyScanner extends Item {
else if(block == ModBlocks.ore_australium)
hasAussie = true;
}
Block block = world.getBlock(x + a * 2, 0, z + b * 2);
if(block == ModBlocks.ore_bedrock) {
tile = (TileEntityBedrockOre) world.getTileEntity(x + a * 2, 0, z + b * 2);
}
}
}
@ -59,6 +67,8 @@ public class ItemSurveyScanner extends Item {
player.addChatComponentMessage(new ChatComponentText("Found SCHIST!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_AQUA)));
if(hasAussie)
player.addChatComponentMessage(new ChatComponentText("Found AUSTRALIUM!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
if(tile != null && tile.resource != null)
player.addChatComponentMessage(new ChatComponentText("Found BEDROCK ORE for " + tile.resource.getDisplayName() + "!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED)));
}
player.swingItem();

View File

@ -67,7 +67,6 @@ import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher;
import com.hbm.potion.HbmPotion;
import com.hbm.saveddata.satellites.Satellite;
import com.hbm.test.ExplosionTests;
import com.hbm.tileentity.TileMappings;
import com.hbm.tileentity.bomb.TileEntityNukeCustom;
import com.hbm.tileentity.machine.*;

View File

@ -28,6 +28,7 @@ public class OreCave {
/** The y-level around which the stratum is centered. */
private int yLevel = 30;
private Block fluid;
int dim = 0;
public OreCave(Block ore) {
this(ore, 0);
@ -62,11 +63,18 @@ public class OreCave {
this.fluid = fluid;
return this;
}
public OreCave setDimension(int dim) {
this.dim = dim;
return this;
}
@SuppressWarnings("incomplete-switch")
@SubscribeEvent
public void onDecorate(DecorateBiomeEvent.Pre event) {
if(event.world.provider.dimensionId != this.dim) return;
if(this.noise == null) {
this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + (ore.getID() * 31) + yLevel), 2);
}

View File

@ -26,6 +26,7 @@ public class OreLayer {
private int maxRange = 4;
/** The y-level around which the stratum is centered. */
private int yLevel = 30;
int dim = 0;
public OreLayer(Block ore, float density) {
this(ore, 0, Blocks.stone, density);
@ -57,10 +58,17 @@ public class OreLayer {
this.yLevel = yLevel;
return this;
}
public OreLayer setDimension(int dim) {
this.dim = dim;
return this;
}
@SubscribeEvent
public void onDecorate(DecorateBiomeEvent.Pre event) {
if(event.world.provider.dimensionId != this.dim) return;
if(this.noise == null) {
this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + (ore.getID() * 31) + yLevel), 4);
}

View File

@ -18,15 +18,23 @@ public class OreLayer3D {
Block block;
int meta;
int dim = 0;
public OreLayer3D(Block block, int meta) {
this.block = block;
this.meta = meta;
MinecraftForge.EVENT_BUS.register(this);
}
public OreLayer3D setDimension(int dim) {
this.dim = dim;
return this;
}
@SubscribeEvent
public void onDecorate(DecorateBiomeEvent.Pre event) {
if(event.world.provider.dimensionId != this.dim) return;
if(this.noiseX == null) this.noiseX = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 101), 4);
if(this.noiseY == null) this.noiseY = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 102), 4);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 391 B