Tile -> BlockEntity + some more refactors
This commit is contained in:
parent
7f8674f1ca
commit
dbc89adaf7
193 changed files with 3194 additions and 3214 deletions
|
@ -27,7 +27,7 @@ package techreborn.api.fluidreplicator;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import reborncore.fluid.Fluid;
|
||||
import techreborn.init.TRContent;
|
||||
import techreborn.tiles.machine.multiblock.TileFluidReplicator;
|
||||
import techreborn.blockentity.machine.multiblock.FluidReplicatorBlockEntity;
|
||||
import techreborn.utils.FluidUtils;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
@ -105,19 +105,19 @@ public class FluidReplicatorRecipe implements Cloneable {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean canCraft(TileFluidReplicator tile) {
|
||||
if (!tile.getMultiBlock()) {
|
||||
public boolean canCraft(FluidReplicatorBlockEntity blockEntity) {
|
||||
if (!blockEntity.getMultiBlock()) {
|
||||
return false;
|
||||
}
|
||||
final BlockPos hole = tile.getPos().offset(tile.getFacing().getOpposite(), 2);
|
||||
final Fluid fluid = techreborn.utils.FluidUtils.fluidFromBlock(tile.getWorld().getBlockState(hole).getBlock());
|
||||
final BlockPos hole = blockEntity.getPos().offset(blockEntity.getFacing().getOpposite(), 2);
|
||||
final Fluid fluid = techreborn.utils.FluidUtils.fluidFromBlock(blockEntity.getWorld().getBlockState(hole).getBlock());
|
||||
if (fluid == null) {
|
||||
return false;
|
||||
}
|
||||
if (!FluidUtils.fluidEquals(fluid, output)) {
|
||||
return false;
|
||||
}
|
||||
final Fluid tankFluid = tile.tank.getFluidType();
|
||||
final Fluid tankFluid = blockEntity.tank.getFluidType();
|
||||
if (tankFluid != null && !FluidUtils.fluidEquals(tankFluid, fluid)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ public class FluidReplicatorRecipe implements Cloneable {
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean onCraft(TileFluidReplicator tile) {
|
||||
public boolean onCraft(FluidReplicatorBlockEntity blockEntity) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ import reborncore.fluid.Fluid;
|
|||
import reborncore.fluid.FluidStack;
|
||||
import techreborn.init.ModRecipes;
|
||||
import techreborn.init.TRContent;
|
||||
import techreborn.tiles.machine.multiblock.TileFluidReplicator;
|
||||
import techreborn.blockentity.machine.multiblock.FluidReplicatorBlockEntity;
|
||||
|
||||
/**
|
||||
* @author drcrazy
|
||||
|
@ -47,13 +47,13 @@ public class FluidReplicatorRecipeCrafter extends RecipeCrafter {
|
|||
/**
|
||||
* RecipeCrafter for Fluid Replicator
|
||||
*
|
||||
* @param parentTile TileEntity Reference to the tile having this crafter
|
||||
* @param parent BlockEntity Reference to the blockEntity having this crafter
|
||||
* @param inventory Inventory reference to inventory used for crafting
|
||||
* @param inputSlots This is the list of the slots that the crafting logic should look for the input UU-Matter.
|
||||
* @param outputSlots This is the list of slots that the crafting logic should look for output fluid
|
||||
*/
|
||||
public FluidReplicatorRecipeCrafter(BlockEntity parentTile, RebornInventory<?> inventory, int[] inputSlots, int[] outputSlots) {
|
||||
super(ModRecipes.FLUID_REPLICATOR, parentTile, 1, 1, inventory, inputSlots, outputSlots);
|
||||
public FluidReplicatorRecipeCrafter(BlockEntity parent, RebornInventory<?> inventory, int[] inputSlots, int[] outputSlots) {
|
||||
super(ModRecipes.FLUID_REPLICATOR, parent, 1, 1, inventory, inputSlots, outputSlots);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -92,7 +92,7 @@ public class FluidReplicatorRecipeCrafter extends RecipeCrafter {
|
|||
// RecipeCrafter
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
if (tile.getWorld().isClient) {
|
||||
if (blockEntity.getWorld().isClient) {
|
||||
return;
|
||||
}
|
||||
ticksSinceLastChange++;
|
||||
|
@ -114,18 +114,18 @@ public class FluidReplicatorRecipeCrafter extends RecipeCrafter {
|
|||
}
|
||||
// If it has reached the recipe tick time
|
||||
if (currentRecipe != null && currentTickTime >= currentNeededTicks && hasAllInputs()) {
|
||||
TileFluidReplicator tileFluidReplicator = (TileFluidReplicator) tile;
|
||||
FluidReplicatorBlockEntity blockEntityFluidReplicator = (FluidReplicatorBlockEntity) blockEntity;
|
||||
// Checks to see if it can fit the output
|
||||
// And fill tank with replicated fluid
|
||||
if (canFit(currentRecipe.getFluid(), tileFluidReplicator.tank) && currentRecipe.onCraft(tileFluidReplicator)) {
|
||||
tileFluidReplicator.tank.fill(new FluidStack(currentRecipe.getFluid(), 1000), true);
|
||||
if (canFit(currentRecipe.getFluid(), blockEntityFluidReplicator.tank) && currentRecipe.onCraft(blockEntityFluidReplicator)) {
|
||||
blockEntityFluidReplicator.tank.fill(new FluidStack(currentRecipe.getFluid(), 1000), true);
|
||||
// This uses all the inputs
|
||||
useAllInputs();
|
||||
// Reset
|
||||
currentRecipe = null;
|
||||
currentTickTime = 0;
|
||||
updateCurrentRecipe();
|
||||
//Update active state if the tile isnt going to start crafting again
|
||||
//Update active state if the blockEntity isnt going to start crafting again
|
||||
if(currentRecipe == null){
|
||||
setIsActive();
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ public class FluidReplicatorRecipeCrafter extends RecipeCrafter {
|
|||
// Increase the ticktime
|
||||
currentTickTime ++;
|
||||
if(currentTickTime == 1 || currentTickTime % 20 == 0 && soundHanlder != null){
|
||||
soundHanlder.playSound(false, tile);
|
||||
soundHanlder.playSound(false, blockEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -147,10 +147,10 @@ public class FluidReplicatorRecipeCrafter extends RecipeCrafter {
|
|||
|
||||
@Override
|
||||
public void updateCurrentRecipe() {
|
||||
TileFluidReplicator tileFluidReplicator = (TileFluidReplicator) tile;
|
||||
FluidReplicatorBlockEntity blockEntityFluidReplicator = (FluidReplicatorBlockEntity) blockEntity;
|
||||
for (FluidReplicatorRecipe recipe : FluidReplicatorRecipeList.recipes) {
|
||||
if (recipe.canCraft(tileFluidReplicator) && hasAllInputs(recipe)) {
|
||||
if (!canFit(recipe.getFluid(), tileFluidReplicator.tank)) {
|
||||
if (recipe.canCraft(blockEntityFluidReplicator) && hasAllInputs(recipe)) {
|
||||
if (!canFit(recipe.getFluid(), blockEntityFluidReplicator.tank)) {
|
||||
this.currentRecipe = null;
|
||||
currentTickTime = 0;
|
||||
setIsActive();
|
||||
|
@ -187,10 +187,10 @@ public class FluidReplicatorRecipeCrafter extends RecipeCrafter {
|
|||
|
||||
@Override
|
||||
public boolean canCraftAgain() {
|
||||
TileFluidReplicator tileFluidReplicator = (TileFluidReplicator) tile;
|
||||
FluidReplicatorBlockEntity blockEntityFluidReplicator = (FluidReplicatorBlockEntity) blockEntity;
|
||||
for (FluidReplicatorRecipe recipe : FluidReplicatorRecipeList.recipes) {
|
||||
if (recipe.canCraft(tileFluidReplicator) && hasAllInputs(recipe)) {
|
||||
if (!canFit(recipe.getFluid(), tileFluidReplicator.tank)) {
|
||||
if (recipe.canCraft(blockEntityFluidReplicator) && hasAllInputs(recipe)) {
|
||||
if (!canFit(recipe.getFluid(), blockEntityFluidReplicator.tank)) {
|
||||
return false;
|
||||
}
|
||||
if (energy.getEnergy() < recipe.getEuTick()) {
|
||||
|
|
|
@ -39,19 +39,19 @@ import java.util.List;
|
|||
public class ScrapboxRecipeCrafter extends RecipeCrafter {
|
||||
|
||||
/**
|
||||
* @param parentTile Tile having this crafter
|
||||
* @param inventory Inventory from parent tile
|
||||
* @param parent Tile having this crafter
|
||||
* @param inventory Inventory from parent blockEntity
|
||||
* @param inputSlots Slot IDs for input
|
||||
* @param outputSlots Slot IDs for output
|
||||
*/
|
||||
public ScrapboxRecipeCrafter(BlockEntity parentTile, RebornInventory<?> inventory, int[] inputSlots, int[] outputSlots) {
|
||||
super(ModRecipes.SCRAPBOX, parentTile, 1, 1, inventory, inputSlots, outputSlots);
|
||||
public ScrapboxRecipeCrafter(BlockEntity parent, RebornInventory<?> inventory, int[] inputSlots, int[] outputSlots) {
|
||||
super(ModRecipes.SCRAPBOX, parent, 1, 1, inventory, inputSlots, outputSlots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCurrentRecipe(){
|
||||
List<RebornRecipe> scrapboxRecipeList = ModRecipes.SCRAPBOX.getRecipes(tile.getWorld());
|
||||
int random = tile.getWorld().random.nextInt(scrapboxRecipeList.size());
|
||||
List<RebornRecipe> scrapboxRecipeList = ModRecipes.SCRAPBOX.getRecipes(blockEntity.getWorld());
|
||||
int random = blockEntity.getWorld().random.nextInt(scrapboxRecipeList.size());
|
||||
// Sets the current recipe then syncs
|
||||
setCurrentRecipe(scrapboxRecipeList.get(random));
|
||||
this.currentNeededTicks = Math.max((int) (currentRecipe.getTime() * (1.0 - getSpeedMultiplier())), 1);
|
||||
|
|
|
@ -30,7 +30,7 @@ import net.minecraft.util.Identifier;
|
|||
import net.minecraft.util.JsonHelper;
|
||||
import reborncore.common.crafting.RebornRecipe;
|
||||
import reborncore.common.crafting.RebornRecipeType;
|
||||
import techreborn.tiles.machine.multiblock.TileIndustrialBlastFurnace;
|
||||
import techreborn.blockentity.machine.multiblock.IndustrialBlastFurnaceBlockEntity;
|
||||
|
||||
public class BlastFurnaceRecipe extends RebornRecipe {
|
||||
|
||||
|
@ -53,16 +53,16 @@ public class BlastFurnaceRecipe extends RebornRecipe {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean canCraft(final BlockEntity tile) {
|
||||
if (tile instanceof TileIndustrialBlastFurnace) {
|
||||
final TileIndustrialBlastFurnace blastFurnace = (TileIndustrialBlastFurnace) tile;
|
||||
public boolean canCraft(final BlockEntity blockEntity) {
|
||||
if (blockEntity instanceof IndustrialBlastFurnaceBlockEntity) {
|
||||
final IndustrialBlastFurnaceBlockEntity blastFurnace = (IndustrialBlastFurnaceBlockEntity) blockEntity;
|
||||
return blastFurnace.getHeat() >= heat;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCraft(final BlockEntity tile) {
|
||||
public boolean onCraft(final BlockEntity blockEntity) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ import net.minecraft.util.Identifier;
|
|||
import reborncore.common.crafting.RebornRecipe;
|
||||
import reborncore.common.crafting.RebornRecipeType;
|
||||
import reborncore.fluid.FluidStack;
|
||||
import techreborn.tiles.machine.multiblock.TileIndustrialGrinder;
|
||||
import techreborn.blockentity.machine.multiblock.IndustrialGrinderBlockEntity;
|
||||
|
||||
public class IndustrialGrinderRecipe extends RebornRecipe {
|
||||
|
||||
|
@ -41,13 +41,13 @@ public class IndustrialGrinderRecipe extends RebornRecipe {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean canCraft(final BlockEntity tileEntity) {
|
||||
TileIndustrialGrinder tile = (TileIndustrialGrinder) tileEntity;
|
||||
if (!tile.getMultiBlock()) {
|
||||
public boolean canCraft(final BlockEntity be) {
|
||||
IndustrialGrinderBlockEntity blockEntity = (IndustrialGrinderBlockEntity) be;
|
||||
if (!blockEntity.getMultiBlock()) {
|
||||
return false;
|
||||
}
|
||||
final FluidStack recipeFluid = fluidStack;
|
||||
final FluidStack tankFluid = tile.tank.getFluid();
|
||||
final FluidStack tankFluid = blockEntity.tank.getFluid();
|
||||
if (fluidStack == null) {
|
||||
return true;
|
||||
}
|
||||
|
@ -63,10 +63,10 @@ public class IndustrialGrinderRecipe extends RebornRecipe {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean onCraft(final BlockEntity tileEntity) {
|
||||
TileIndustrialGrinder tile = (TileIndustrialGrinder) tileEntity;
|
||||
public boolean onCraft(final BlockEntity be) {
|
||||
IndustrialGrinderBlockEntity blockEntity = (IndustrialGrinderBlockEntity) be;
|
||||
final FluidStack recipeFluid = fluidStack;
|
||||
final FluidStack tankFluid = tile.tank.getFluid();
|
||||
final FluidStack tankFluid = blockEntity.tank.getFluid();
|
||||
if (fluidStack == null) {
|
||||
return true;
|
||||
}
|
||||
|
@ -76,12 +76,12 @@ public class IndustrialGrinderRecipe extends RebornRecipe {
|
|||
if (tankFluid.isFluidEqual(recipeFluid)) {
|
||||
if (tankFluid.amount >= recipeFluid.amount) {
|
||||
if (tankFluid.amount == recipeFluid.amount) {
|
||||
tile.tank.setFluid(null);
|
||||
blockEntity.tank.setFluid(null);
|
||||
}
|
||||
else {
|
||||
tankFluid.amount -= recipeFluid.amount;
|
||||
}
|
||||
tile.syncWithAll();
|
||||
blockEntity.syncWithAll();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ import net.minecraft.util.Identifier;
|
|||
import reborncore.common.crafting.RebornRecipe;
|
||||
import reborncore.common.crafting.RebornRecipeType;
|
||||
import reborncore.fluid.FluidStack;
|
||||
import techreborn.tiles.machine.multiblock.TileIndustrialSawmill;
|
||||
import techreborn.blockentity.machine.multiblock.IndustrialSawmillBlockEntity;
|
||||
|
||||
public class IndustrialSawmillRecipe extends RebornRecipe {
|
||||
|
||||
|
@ -41,13 +41,13 @@ public class IndustrialSawmillRecipe extends RebornRecipe {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean canCraft(BlockEntity tileEntity) {
|
||||
TileIndustrialSawmill tile = (TileIndustrialSawmill) tileEntity;
|
||||
if (!tile.getMutliBlock()) {
|
||||
public boolean canCraft(BlockEntity be) {
|
||||
IndustrialSawmillBlockEntity blockEntity = (IndustrialSawmillBlockEntity) be;
|
||||
if (!blockEntity.getMutliBlock()) {
|
||||
return false;
|
||||
}
|
||||
final FluidStack recipeFluid = fluidStack;
|
||||
final FluidStack tankFluid = tile.tank.getFluid();
|
||||
final FluidStack tankFluid = blockEntity.tank.getFluid();
|
||||
if (fluidStack == null) {
|
||||
return true;
|
||||
}
|
||||
|
@ -63,10 +63,10 @@ public class IndustrialSawmillRecipe extends RebornRecipe {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean onCraft(BlockEntity tileEntity) {
|
||||
TileIndustrialSawmill tile = (TileIndustrialSawmill) tileEntity;
|
||||
public boolean onCraft(BlockEntity be) {
|
||||
IndustrialSawmillBlockEntity blockEntity = (IndustrialSawmillBlockEntity) be;
|
||||
final FluidStack recipeFluid = fluidStack;
|
||||
final FluidStack tankFluid = tile.tank.getFluid();
|
||||
final FluidStack tankFluid = blockEntity.tank.getFluid();
|
||||
if (fluidStack == null) {
|
||||
return true;
|
||||
}
|
||||
|
@ -76,11 +76,11 @@ public class IndustrialSawmillRecipe extends RebornRecipe {
|
|||
if (tankFluid.isFluidEqual(recipeFluid)) {
|
||||
if (tankFluid.amount >= recipeFluid.amount) {
|
||||
if (tankFluid.amount == recipeFluid.amount) {
|
||||
tile.tank.setFluid(null);
|
||||
blockEntity.tank.setFluid(null);
|
||||
} else {
|
||||
tankFluid.amount -= recipeFluid.amount;
|
||||
}
|
||||
tile.syncWithAll();
|
||||
blockEntity.syncWithAll();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue