Skip to content

Commit

Permalink
bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
kuzuanpa committed Dec 13, 2024
1 parent d917d33 commit ce8a3e2
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 40 deletions.
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
buildscript {
repositories {
mavenCentral()
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
maven {
name = "gt"
url = "https://gregtech.mechaenetia.com/"
}
maven {
name = "forge"
Expand Down
44 changes: 30 additions & 14 deletions src/API/com/bioxx/tfc/api/Crafting/BarrelCommonRecipe.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
package com.bioxx.tfc.api.Crafting;

import java.util.Stack;

import com.bioxx.tfc.api.Food;
import com.bioxx.tfc.api.Interfaces.IFood;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;

import java.util.Stack;

public class BarrelCommonRecipe implements IBarrelRecipe
{
public ItemStack recipeIS;
Expand All @@ -19,6 +18,7 @@ public class BarrelCommonRecipe implements IBarrelRecipe
public FluidStack recipeOutFluid;
public int sealTime = 8;
public boolean removesLiquid = true;
public boolean consumeItem = true;
/**Outputting mode,
* @value=true: output fluid, requires item more than fluid, outputFS!=null
* @value=false: output item, requires fluid more than item, will remove fluid when outputFS==null
Expand All @@ -42,6 +42,16 @@ public BarrelCommonRecipe(ItemStack inputItem, FluidStack inputFluid, ItemStack
this.sealTime = seal;
}

public boolean willConsumeItem() {
return consumeItem;
}

@Override
public IBarrelRecipe setWillConsumeItem(boolean b) {
consumeItem = b;
return this;
}

public IBarrelRecipe setSealedRecipe(boolean b){
this.sealedRecipe=b;
return this;
Expand Down Expand Up @@ -121,12 +131,17 @@ public Stack<ItemStack> getResult(ItemStack inIS, FluidStack inFS, int sealedTim
if (recipeOutIS != null)
{
outStack = recipeOutIS.copy();
int repeatTime = this.getRecipeRepeatTimes(inIS, inFS);
int outputCount = outStack.stackSize * repeatTime;
if(inIS.stackSize - recipeIS.stackSize * repeatTime > 0) {
ItemStack inISOut = inIS.copy();
inISOut.stackSize-=recipeIS.stackSize * repeatTime;
stackList.push(inISOut);
int outputCount = 0;
if(inIS != null){
int repeatAmount = this.getRecipeRepeatTimes(inIS, inFS);
outputCount = outStack.stackSize * repeatAmount;

if(recipeIS == null)stackList.push(inIS);
else if(inIS.stackSize - recipeIS.stackSize * repeatAmount > 0) {
ItemStack inISOut = inIS.copy();
inISOut.stackSize-=recipeIS.stackSize * repeatAmount;
stackList.push(inISOut);
}
}
int maxStackSize = outStack.getMaxStackSize();
Item item = outStack.getItem();
Expand All @@ -147,16 +162,17 @@ public Stack<ItemStack> getResult(ItemStack inIS, FluidStack inFS, int sealedTim
return stackList;

}
if (!removesLiquid && inIS != null && inFS != null)
if (recipeIS == null)
{
stackList.push(inIS);
}
else if (!removesLiquid && inIS != null && inFS != null)
{
outStack = inIS.copy();
outStack.stackSize -= inFS.amount / this.recipeOutFluid.amount;
stackList.push(outStack);
}
if (outStack == null)
{
stackList.push(outStack);
}

return stackList;
}

Expand Down
4 changes: 4 additions & 0 deletions src/API/com/bioxx/tfc/api/Crafting/IBarrelRecipe.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ default FluidStack getResultFluid(ItemStack inIS, FluidStack inFS, int sealedTim

boolean isRemovesLiquid();

default boolean willConsumeItem(){return true;}

default IBarrelRecipe setWillConsumeItem(boolean b){return this;}

default IBarrelRecipe setRemovesLiquid(boolean b){return this;}

default IBarrelRecipe setMinTechLevel(int t){return this;}
Expand Down
10 changes: 9 additions & 1 deletion src/Common/com/bioxx/tfc/Blocks/Terrain/BlockOre.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ public int[] getDropBlock(World world, int x, int y, int z)
}
return data;
}

public boolean isOreGradable(int meta){
return meta<14;
}
@Override
public int damageDropped(int dmg)
{
Expand All @@ -96,6 +98,12 @@ public IIcon getIcon(IBlockAccess p_149673_1_, int x, int y, int z, int p_149673
return getRockTexture(Minecraft.getMinecraft().theWorld, x, y, z);
}

@Override
public IIcon getIcon(int side, int meta)
{
return TFCBlocks.stoneIgIn.getIcon(side,meta);
}

public static IIcon[] icons = new IIcon[blockNames.length];

@Override
Expand Down
4 changes: 2 additions & 2 deletions src/Common/com/bioxx/tfc/Items/ItemTerra.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ public void registerIcons(IIconRegister registerer)
@Override
public IIcon getIconFromDamage(int i)
{
if(metaNames != null && i < metaIcons.length)
return metaIcons[i];
if(metaNames != null)
return i<metaIcons.length? metaIcons[i] : metaIcons[0];
else
return this.itemIcon;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ private ItemStack getCoreSample(World world, int xCoord, int yCoord, int zCoord)
if(m!= 14 && m != 15)
{
coreSample.add(BlockOre.getDroppedItem(m));
coreSampleStacks.add(new ItemStack(BlockOre.getDroppedItem(m), 1, m>34? m-34: m));
coreSampleStacks.add(new ItemStack(BlockOre.getDroppedItem(m), 1, m>34? (m-35)%16: m));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
//world gen minable
package com.bioxx.tfc.WorldGen.Generators;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

import com.bioxx.tfc.Chunkdata.ChunkData;
import com.bioxx.tfc.Core.TFC_Core;
import com.bioxx.tfc.TileEntities.TEOre;
import com.bioxx.tfc.api.TFCBlocks;
import cpw.mods.fml.common.FMLLog;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;

import com.bioxx.tfc.Chunkdata.ChunkData;
import com.bioxx.tfc.Core.TFC_Core;
import com.bioxx.tfc.TileEntities.TEOre;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

// Referenced classes of package net.minecraft.src:
// WorldGenerator, MathHelper, World, Block
Expand Down Expand Up @@ -394,7 +395,6 @@ public boolean bODgenerate(World world, Random rand, int par3, int par4, int par
}
}
}
//TerraFirmaCraft.log.info("a vein was placed " + minableBlockId + "." + minableBlockMeta+ " at " + par3 +" "+par4+" "+par5); /// for debugging
return true;
}

Expand Down
21 changes: 10 additions & 11 deletions src/Common/com/bioxx/tfc/WorldGen/Generators/WorldGenOre.java
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
package com.bioxx.tfc.WorldGen.Generators;

import java.util.List;
import java.util.Map;
import java.util.Random;

import com.bioxx.tfc.Blocks.Terrain.BlockOre;
import com.bioxx.tfc.Core.TFC_Climate;
import com.bioxx.tfc.Core.Util.CaseInsensitiveHashMap;
import com.bioxx.tfc.WorldGen.DataLayer;
import com.bioxx.tfc.WorldGen.TFCProvider;
import com.bioxx.tfc.WorldGen.TFCWorldChunkManager;
import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;

import cpw.mods.fml.common.IWorldGenerator;

import com.bioxx.tfc.Core.TFC_Climate;
import com.bioxx.tfc.Core.Util.CaseInsensitiveHashMap;
import com.bioxx.tfc.WorldGen.DataLayer;
import com.bioxx.tfc.WorldGen.TFCWorldChunkManager;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class WorldGenOre implements IWorldGenerator
{
Expand Down Expand Up @@ -120,7 +119,7 @@ private static WorldGenMinable createOreAndGen(Block block, int j, Map<Block, Li
rockLayer3.block == b && (rockLayer3.data2 == metadata || metadata == -1))
{
int grade = rand.nextInt(100);
if(OreSpawnData.isOreGradable(j)){
if(block instanceof BlockOre && ((BlockOre) block).isOreGradable(j)){
if(grade<20)j+=35;
else if(grade<50)j+=49;
}
Expand Down

0 comments on commit ce8a3e2

Please sign in to comment.