Bunch of tile work 752

This commit is contained in:
modmuss50 2019-02-21 22:46:26 +00:00
parent 1ab52f40c2
commit 61b6d30262
67 changed files with 316 additions and 537 deletions

View file

@ -1,109 +0,0 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2018 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.blocks;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import techreborn.TechReborn;
import techreborn.tiles.TileEntityFlare;
import java.util.List;
/**
* Created by modmuss50 on 06/11/2016.
*/
public class BlockFlare extends BlockContainer {
public static final AxisAlignedBB FLARE_BB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.1D, 1.0D);
public static final PropertyEnum<EnumDyeColor> COLOR = PropertyEnum.create("color", EnumDyeColor.class);
public BlockFlare() {
super(Material.REDSTONE_LIGHT);
setCreativeTab(TechReborn.TAB);
setTranslationKey("techreborn.flare");
this.setDefaultState(this.blockState.getBaseState().with(COLOR, EnumDyeColor.WHITE));
}
@Override
public TileEntity createNewTileEntity(IBlockReader worldIn) {
if (worldIn.isRemote) { //Only needed on the client
return new TileEntityFlare();
}
return null;
}
@Override
public int damageDropped(IBlockState state) {
return (state.getValue(COLOR)).getMetadata();
}
@OnlyIn(Dist.CLIENT)
public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list) {
for (EnumDyeColor enumdyecolor : EnumDyeColor.values()) {
list.add(new ItemStack(itemIn, 1, enumdyecolor.getMetadata()));
}
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, COLOR);
}
@Override
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
public boolean isFullCube() {
return false;
}
@Override
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
return FLARE_BB;
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return FLARE_BB;
}
}

View file

@ -4,7 +4,7 @@
* Copyright (c) 2018 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* of this software and associated documentation files (the "Software"); to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
@ -25,112 +25,97 @@
package techreborn.init;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraft.tileentity.TileEntityType;
import reborncore.common.tile.TileMachineBase;
import techreborn.TechReborn;
import techreborn.tiles.*;
import techreborn.tiles.cable.TileCable;
import techreborn.tiles.fusionReactor.TileFusionControlComputer;
import techreborn.tiles.generator.*;
import techreborn.tiles.generator.TileLightningRod;
import techreborn.tiles.generator.TilePlasmaGenerator;
import techreborn.tiles.generator.TileSolarPanel;
import techreborn.tiles.generator.advanced.*;
import techreborn.tiles.generator.basic.TileSolidFuelGenerator;
import techreborn.tiles.generator.basic.TileWaterMill;
import techreborn.tiles.generator.basic.TileWindMill;
import techreborn.tiles.storage.idsu.TileInterdimensionalSU;
import techreborn.tiles.storage.lesu.TileLSUStorage;
import techreborn.tiles.storage.lesu.TileLapotronicSU;
import techreborn.tiles.lighting.TileLamp;
import techreborn.tiles.machine.iron.TileIronAlloyFurnace;
import techreborn.tiles.machine.iron.TileIronFurnace;
import techreborn.tiles.machine.multiblock.*;
import techreborn.tiles.machine.tier1.*;
import techreborn.tiles.storage.TileAdjustableSU;
import techreborn.tiles.storage.TileHighVoltageSU;
import techreborn.tiles.storage.TileLowVoltageSU;
import techreborn.tiles.storage.TileMediumVoltageSU;
import techreborn.tiles.machine.iron.TileIronAlloyFurnace;
import techreborn.tiles.machine.iron.TileIronFurnace;
import techreborn.tiles.machine.tier1.*;
import techreborn.tiles.storage.idsu.TileInterdimensionalSU;
import techreborn.tiles.storage.lesu.TileLSUStorage;
import techreborn.tiles.storage.lesu.TileLapotronicSU;
import techreborn.tiles.transformers.TileHVTransformer;
import techreborn.tiles.transformers.TileLVTransformer;
import techreborn.tiles.transformers.TileMVTransformer;
import java.util.Arrays;
public class TRTileEntities {
public enum TRTileEntities {
public static final TileEntityType THERMAL_GEN = register(TileThermalGenerator.class, "thermal_generator");
public static final TileEntityType QUANTUM_TANK = register(TileQuantumTank.class, "quantum_tank");
public static final TileEntityType QUANTUM_CHEST = register(TileQuantumChest.class, "quantum_chest");
public static final TileEntityType DIGITAL_CHEST = register(TileDigitalChest.class, "digital_chest");
public static final TileEntityType INDUSTRIAL_CENTRIFUGE = register(TileIndustrialCentrifuge.class, "industrial_centrifuge");
public static final TileEntityType ROLLING_MACHINE = register(TileRollingMachine.class, "rolling_machine");
public static final TileEntityType INDUSTRIAL_BLAST_FURNACE = register(TileIndustrialBlastFurnace.class, "industrial_blast_furnace");
public static final TileEntityType ALLOY_SMELTER = register(TileAlloySmelter.class, "alloy_smelter");
public static final TileEntityType INDUSTRIAL_GRINDER = register(TileIndustrialGrinder.class, "industrial_grinder");
public static final TileEntityType IMPLOSION_COMPRESSOR = register(TileImplosionCompressor.class, "implosion_compressor");
public static final TileEntityType MATTER_FABRICATOR = register(TileMatterFabricator.class, "matter_fabricator");
public static final TileEntityType CHUNK_LOADER = register(TileChunkLoader.class, "chunk_loader");
public static final TileEntityType CHARGE_O_MAT = register(TileChargeOMat.class, "charge_o_mat");
public static final TileEntityType PLAYER_DETECTOR = register(TilePlayerDectector.class, "player_detector");
public static final TileEntityType CABLE = register(TileCable.class, "cable");
public static final TileEntityType MACHINE_CASINGS = register(TileMachineCasing.class, "machine_casing");
public static final TileEntityType DRAGON_EGG_SYPHON = register(TileDragonEggSyphon.class, "dragon_egg_syphon");
public static final TileEntityType ASSEMBLY_MACHINE = register(TileAssemblingMachine.class, "assembly_machine");
public static final TileEntityType DIESEL_GENERATOR = register(TileDieselGenerator.class, "diesel_generator");
public static final TileEntityType INDUSTRIAL_ELECTROLYZER = register(TileIndustrialElectrolyzer.class, "industrial_electrolyzer");
public static final TileEntityType SEMI_FLUID_GENERATOR = register(TileSemiFluidGenerator.class, "semi_fluid_generator");
public static final TileEntityType GAS_TURBINE = register(TileGasTurbine.class, "gas_turbine");
public static final TileEntityType IRON_ALLOY_FURNACE = register(TileIronAlloyFurnace.class, "iron_alloy_furnace");
public static final TileEntityType CHEMICAL_REACTOR = register(TileChemicalReactor.class, "chemical_reactor");
public static final TileEntityType INTERDIMENSIONAL_SU = register(TileInterdimensionalSU.class, "interdimensional_su");
public static final TileEntityType ADJUSTABLE_SU = register(TileAdjustableSU.class, "adjustable_su");
public static final TileEntityType LAPOTRONIC_SU = register(TileLapotronicSU.class, "lapotronic_su");
public static final TileEntityType LSU_STORAGE = register(TileLSUStorage.class, "lsu_storage");
public static final TileEntityType DISTILLATION_TOWER = register(TileDistillationTower.class, "distillation_tower");
public static final TileEntityType VACUUM_FREEZER = register(TileVacuumFreezer.class, "vacuum_freezer");
public static final TileEntityType FUSION_CONTROL_COMPUTER = register(TileFusionControlComputer.class, "fusion_control_computer");
public static final TileEntityType LIGHTNING_ROD = register(TileLightningRod.class, "lightning_rod");
public static final TileEntityType INDUSTRIAL_SAWMILL = register(TileIndustrialSawmill.class, "industrial_sawmill");
public static final TileEntityType GRINDER = register(TileGrinder.class, "grinder");
public static final TileEntityType SOLID_FUEL_GENEREATOR = register(TileSolidFuelGenerator.class, "solid_fuel_generator");
public static final TileEntityType EXTRACTOR = register(TileExtractor.class, "extractor");
public static final TileEntityType COMPRESSOR = register(TileCompressor.class, "compressor");
public static final TileEntityType ELECTRIC_FURNACE = register(TileElectricFurnace.class, "electric_furnace");
public static final TileEntityType SOLAR_PANEL = register(TileSolarPanel.class, "solar_panel");
public static final TileEntityType CREATIVE_QUANTUM_TANK = register(TileCreativeQuantumTank.class, "creative_quantum_tank");
public static final TileEntityType CREATIVE_QUANTUM_CHEST = register(TileCreativeQuantumChest.class, "creative_quantum_chest");
public static final TileEntityType WATER_MILL = register(TileWaterMill.class, "water_mill");
public static final TileEntityType WIND_MILL = register(TileWindMill.class, "wind_mill");
public static final TileEntityType MACHINE_BASE = register(TileMachineBase.class, "machine_base");
public static final TileEntityType RECYCLER = register(TileRecycler.class, "recycler");
public static final TileEntityType LOW_VOLTAGE_SU = register(TileLowVoltageSU.class, "low_voltage_su");
public static final TileEntityType MEDIUM_VOLTAGE_SU = register(TileMediumVoltageSU.class, "medium_voltage_su");
public static final TileEntityType HIGH_VOLTAGE_SU = register(TileHighVoltageSU.class, "high_voltage_su");
public static final TileEntityType LV_TRANSFORMER = register(TileLVTransformer.class, "lv_transformer");
public static final TileEntityType MV_TRANSFORMER = register(TileMVTransformer.class, "mv_transformer");
public static final TileEntityType HV_TRANSFORMER = register(TileHVTransformer.class, "hv_transformer");
public static final TileEntityType AUTO_CRAFTING_TABLE = register(TileAutoCraftingTable.class, "auto_crafting_table");
public static final TileEntityType IRON_FURNACE = register(TileIronFurnace.class, "iron_furnace");
public static final TileEntityType SCRAPBOXINATOR = register(TileScrapboxinator.class, "scrapboxinator");
public static final TileEntityType PLASMA_GENERATOR = register(TilePlasmaGenerator.class, "plasma_generator");
public static final TileEntityType LAMP = register(TileLamp.class, "lamp");
public static final TileEntityType ALARM = register(TileAlarm.class, "alarm");
public static final TileEntityType FLUID_REPLICATOR = register(TileFluidReplicator.class, "fluid_replicator");
THERMAL_GEN(TileThermalGenerator.class, "thermal_generator"),
QUANTUM_TANK(TileQuantumTank.class, "quantum_tank"),
QUANTUM_CHEST(TileQuantumChest.class, "quantum_chest"),
DIGITAL_CHEST(TileDigitalChest.class, "digital_chest"),
INDUSTRIAL_CENTRIFUGE(TileIndustrialCentrifuge.class, "industrial_centrifuge"),
ROLLING_MACHINE(TileRollingMachine.class, "rolling_machine"),
INDUSTRIAL_BLAST_FURNACE(TileIndustrialBlastFurnace.class, "industrial_blast_furnace"),
ALLOY_SMELTER(TileAlloySmelter.class, "alloy_smelter"),
INDUSTRIAL_GRINDER(TileIndustrialGrinder.class, "industrial_grinder"),
IMPLOSION_COMPRESSOR(TileImplosionCompressor.class, "implosion_compressor"),
MATTER_FABRICATOR(TileMatterFabricator.class, "matter_fabricator"),
CHUNK_LOADER(TileChunkLoader.class, "chunk_loader"),
CHARGE_O_MAT(TileChargeOMat.class, "charge_o_mat"),
PLAYER_DETECTOR(TilePlayerDectector.class, "player_detector"),
CABLE(TileCable.class, "cable"),
MACHINE_CASINGS(TileMachineCasing.class, "machine_casing"),
DRAGON_EGG_SYPHON(TileDragonEggSyphon.class, "dragon_egg_syphon"),
ASSEMBLY_MACHINE(TileAssemblingMachine.class, "assembly_machine"),
DIESEL_GENERATOR(TileDieselGenerator.class, "diesel_generator"),
INDUSTRIAL_ELECTROLYZER(TileIndustrialElectrolyzer.class, "industrial_electrolyzer"),
SEMI_FLUID_GENERATOR(TileSemiFluidGenerator.class, "semi_fluid_generator"),
GAS_TURBINE(TileGasTurbine.class, "gas_turbine"),
IRON_ALLOY_FURNACE(TileIronAlloyFurnace.class, "iron_alloy_furnace"),
CHEMICAL_REACTOR(TileChemicalReactor.class, "chemical_reactor"),
INTERDIMENSIONAL_SU(TileInterdimensionalSU.class, "interdimensional_su"),
ADJUSTABLE_SU(TileAdjustableSU.class, "adjustable_su"),
LAPOTRONIC_SU(TileLapotronicSU.class, "lapotronic_su"),
LSU_STORAGE(TileLSUStorage.class, "lsu_storage"),
DISTILLATION_TOWER(TileDistillationTower.class, "distillation_tower"),
VACUUM_FREEZER(TileVacuumFreezer.class, "vacuum_freezer"),
FUSION_CONTROL_COMPUTER(TileFusionControlComputer.class, "fusion_control_computer"),
LIGHTNING_ROD(TileLightningRod.class, "lightning_rod"),
INDUSTRIAL_SAWMILL(TileIndustrialSawmill.class, "industrial_sawmill"),
GRINDER(TileGrinder.class, "grinder"),
SOLID_FUEL_GENEREATOR(TileSolidFuelGenerator.class, "solid_fuel_generator"),
EXTRACTOR(TileExtractor.class, "extractor"),
COMPRESSOR(TileCompressor.class, "compressor"),
ELECTRIC_FURNACE(TileElectricFurnace.class, "electric_furnace"),
SOLAR_PANEL(TileSolarPanel.class, "solar_panel"),
CREATIVE_QUANTUM_TANK(TileCreativeQuantumTank.class, "creative_quantum_tank"),
CREATIVE_QUANTUM_CHEST(TileCreativeQuantumChest.class, "creative_quantum_chest"),
WATER_MILL(TileWaterMill.class, "water_mill"),
WIND_MILL(TileWindMill.class, "wind_mill"),
MACHINE_BASE(TileMachineBase.class, "machine_base"),
RECYCLER(TileRecycler.class, "recycler"),
LOW_VOLTAGE_SU(TileLowVoltageSU.class, "low_voltage_su"),
MEDIUM_VOLTAGE_SU(TileMediumVoltageSU.class, "medium_voltage_su"),
HIGH_VOLTAGE_SU(TileHighVoltageSU.class, "high_voltage_su"),
LV_TRANSFORMER(TileLVTransformer.class, "lv_transformer"),
MV_TRANSFORMER(TileMVTransformer.class, "mv_transformer"),
HV_TRANSFORMER(TileHVTransformer.class, "hv_transformer"),
AUTO_CRAFTING_TABLE(TileAutoCraftingTable.class, "auto_crafting_table"),
IRON_FURNACE(TileIronFurnace.class, "iron_furnace"),
SCRAPBOXINATOR(TileScrapboxinator.class, "scrapboxinator"),
PLASMA_GENERATOR(TilePlasmaGenerator.class, "plasma_generator"),
LAMP(TileLamp.class, "lamp"),
ALARM(TileAlarm.class, "alarm"),
FLUID_REPLICATOR(TileFluidReplicator.class, "fluid_replicator");
public Class<? extends TileEntity> tileClass;
public ResourceLocation name;
TRTileEntities(Class<? extends TileEntity> tileClass, ResourceLocation name) {
this.tileClass = tileClass;
this.name = name;
}
TRTileEntities(Class<? extends TileEntity> tileClass, String name) {
this(tileClass, new ResourceLocation(TechReborn.MOD_ID, name));
}
public static void init(){
Arrays.stream(TRTileEntities.values())
.forEach(modTileEntities -> GameRegistry.registerTileEntity(modTileEntities.tileClass, modTileEntities.name));
public static <T extends TileEntity> TileEntityType<T> register(Class<T> tClass, String name) {
return null;
}
}

View file

@ -30,6 +30,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ITickable;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos;
@ -41,12 +42,17 @@ import reborncore.common.util.ChatUtils;
import techreborn.blocks.BlockAlarm;
import techreborn.init.ModSounds;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.utils.MessageIDs;
public class TileAlarm extends TileEntity
implements ITickable, IToolDrop {
private int selectedSound = 1;
public TileAlarm() {
super(TRTileEntities.ALARM);
}
public void rightClick() {
if (!world.isRemote) {
if (selectedSound < 3) {
@ -76,10 +82,11 @@ public class TileAlarm extends TileEntity
super.read(compound);
}
@Override
public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newSate) {
return false;
}
//TODO 1.13 seems to be gone?
// @Override
// public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newSate) {
// return false;
// }
// ITickable
@Override

View file

@ -39,6 +39,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileChargeOMat extends TilePowerAcceptor
@ -54,7 +55,7 @@ public class TileChargeOMat extends TilePowerAcceptor
public Inventory<TileChargeOMat> inventory = new Inventory<>(6, "TileChargeOMat", 64, this).withConfiguredAccess();
public TileChargeOMat() {
super();
super(TRTileEntities.CHARGE_O_MAT);
}
// TilePowerAcceptor

View file

@ -38,6 +38,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileChunkLoader extends TilePowerAcceptor implements IToolDrop, ItemHandlerProvider, IContainerProvider {
@ -55,7 +56,7 @@ public class TileChunkLoader extends TilePowerAcceptor implements IToolDrop, Ite
public int tickTime;
public TileChunkLoader() {
super();
super(TRTileEntities.CHUNK_LOADER );
}
@Override

View file

@ -25,12 +25,17 @@
package techreborn.tiles;
import net.minecraft.item.ItemStack;
import techreborn.init.TRTileEntities;
public class TileCreativeQuantumChest extends TileQuantumChest {
public TileCreativeQuantumChest() {
super(TRTileEntities.CREATIVE_QUANTUM_CHEST);
}
@Override
public void update() {
super.update();
public void tick() {
super.tick();
ItemStack stack = inventory.getStackInSlot(1);
if (!stack.isEmpty() && storedItem.isEmpty()) {
stack.setCount(stack.getMaxStackSize());

View file

@ -24,11 +24,18 @@
package techreborn.tiles;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
public class TileCreativeQuantumTank extends TileQuantumTank {
public TileCreativeQuantumTank() {
super(TRTileEntities.CREATIVE_QUANTUM_TANK);
}
@Override
public void update() {
super.update();
public void tick() {
super.tick();
if (!tank.isEmpty() && !tank.isFull()) {
tank.setFluidAmount(Integer.MAX_VALUE);
}

View file

@ -31,6 +31,7 @@ import techreborn.TechReborn;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileDigitalChest extends TileTechStorageBase implements IContainerProvider {
@ -39,7 +40,7 @@ public class TileDigitalChest extends TileTechStorageBase implements IContainerP
public static int maxStorage = 32768;
public TileDigitalChest() {
super("TileDigitalChest", maxStorage);
super(TRTileEntities.DIGITAL_CHEST,"TileDigitalChest", maxStorage);
}
@Override

View file

@ -1,63 +0,0 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2018 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.tiles;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.ITickable;
import techreborn.blocks.BlockFlare;
import techreborn.client.particle.ParticleSmoke;
import java.util.Random;
/**
* Created by modmuss50 on 06/11/2016.
*/
public class TileEntityFlare extends TileEntity implements ITickable {
Random random = new Random();
@Override
public void update() {
EnumDyeColor color = world.getBlockState(pos).get(BlockFlare.COLOR);
if (world.isRemote && world.isAirBlock(getPos().up())) {
ParticleSmoke particleSmokeLarge = new ParticleSmoke(world, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, 0, 0.0D, 0);
particleSmokeLarge.setMaxAge(250);
if (color != EnumDyeColor.WHITE) {
float[] rgb = EntitySheep.getDyeRgb(color);
particleSmokeLarge.setColor(rgb[0] + (random.nextFloat() / 20), rgb[1] + (random.nextFloat() / 20), rgb[2] + (random.nextFloat() / 20));
}
particleSmokeLarge.multipleParticleScaleBy(0.5F);
Minecraft.getInstance().effectRenderer.addEffect(particleSmokeLarge);
world.spawnParticle(EnumParticleTypes.FLAME, pos.getX() + 0.5, pos.getY() + 0.3, pos.getZ() + 0.5, 0.0D, 0.0D, 0.0D);
}
}
}

View file

@ -27,6 +27,7 @@ package techreborn.tiles;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import reborncore.api.IToolDrop;
import reborncore.api.recipe.IRecipeCrafterProvider;
@ -57,7 +58,8 @@ public abstract class TileGenericMachine extends TilePowerAcceptor
* @param toolDrop Block Block to drop with wrench
* @param energySlot int Energy slot to use to charge machine from battery
*/
public TileGenericMachine(String name, int maxInput, int maxEnergy, Block toolDrop, int energySlot) {
public TileGenericMachine(TileEntityType<?> tileEntityType, String name, int maxInput, int maxEnergy, Block toolDrop, int energySlot) {
super(tileEntityType);
this.name = "Tile" + name;
this.maxInput = maxInput;
this.maxEnergy = maxEnergy;

View file

@ -37,6 +37,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.items.DynamicCell;
import java.util.List;
@ -50,7 +51,7 @@ public class TileIndustrialCentrifuge extends TileGenericMachine implements ICon
public static int maxEnergy = 10_000;
public TileIndustrialCentrifuge() {
super("IndustrialCentrifuge", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_CENTRIFUGE.block, 6);
super(TRTileEntities.INDUSTRIAL_CENTRIFUGE, "IndustrialCentrifuge", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_CENTRIFUGE.block, 6);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2, 3, 4, 5 };
this.inventory = new Inventory<>(7, "TileIndustrialCentrifuge", 64, this).withConfiguredAccess();

View file

@ -24,12 +24,18 @@
package techreborn.tiles;
import net.minecraft.tileentity.TileEntityType;
import reborncore.common.multiblock.MultiblockControllerBase;
import reborncore.common.multiblock.rectangular.RectangularMultiblockTileEntityBase;
import techreborn.init.TRTileEntities;
import techreborn.multiblocks.MultiBlockCasing;
public class TileMachineCasing extends RectangularMultiblockTileEntityBase {
public TileMachineCasing() {
super(TRTileEntities.MACHINE_CASINGS);
}
@Override
public void onMachineActivated() {

View file

@ -39,6 +39,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileMatterFabricator extends TilePowerAcceptor
@ -57,7 +58,7 @@ public class TileMatterFabricator extends TilePowerAcceptor
private int amplifier = 0;
public TileMatterFabricator() {
super();
super(TRTileEntities.MATTER_FABRICATOR );
}
private boolean spaceForOutput() {

View file

@ -1,168 +0,0 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2018 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.tiles;
import net.minecraft.block.Block;
import net.minecraft.block.BlockLiquid;
import net.minecraft.block.state.IBlockState;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidBlock;
import reborncore.common.powerSystem.PowerSystem;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.registration.RebornRegister;
import reborncore.common.registration.config.ConfigRegistry;
import reborncore.common.util.Tank;
import techreborn.TechReborn;
import javax.annotation.Nullable;
import java.util.List;
/**
* Created by modmuss50 on 08/05/2016.
*/
@RebornRegister(TechReborn.MOD_ID)
public class TilePump extends TilePowerAcceptor {
@ConfigRegistry(config = "machines", category = "pump", key = "PumpEUCost", comment = "Pump cost for one block of fluid (Value in EU)")
public static int pumpExtractEU = 20;
public Tank tank = new Tank("TilePump", 10000, this);
public TilePump() {
super();
}
@Override
public void tick() {
super.tick();
if (!world.isRemote && world.getGameTime() % 10 == 0 && !tank.isFull() && tank.getCapacity() - tank.getFluidAmount() >= 1000 && canUseEnergy(pumpExtractEU)) {
FluidStack fluidStack = drainBlock(world, pos.down(), false);
if (fluidStack != null) {
tank.fill(drainBlock(world, pos.down(), true), true);
useEnergy(pumpExtractEU);
}
tank.compareAndUpdate();
}
}
@Override
public void addInfo(List<String> info, boolean isRealTile, boolean hasData) {
super.addInfo(info, isRealTile, hasData);
info.add(TextFormatting.LIGHT_PURPLE + "Eu per extract " + TextFormatting.GREEN
+ PowerSystem.getLocaliszedPower(pumpExtractEU));
info.add(TextFormatting.LIGHT_PURPLE + "Speed: " + TextFormatting.GREEN
+ "1000mb/5 sec");
}
public static FluidStack drainBlock(World world, BlockPos pos, boolean doDrain) {
IBlockState state = world.getBlockState(pos);
Block block = state.getBlock();
Fluid fluid = FluidRegistry.lookupFluidForBlock(block);
if (fluid != null && FluidRegistry.isFluidRegistered(fluid)) {
if (block instanceof IFluidBlock) {
IFluidBlock fluidBlock = (IFluidBlock) block;
if (!fluidBlock.canDrain(world, pos)) {
return null;
}
return fluidBlock.drain(world, pos, doDrain);
} else {
//Checks if source
int level = state.getValue(BlockLiquid.LEVEL);
if (level != 0) {
return null;
}
if (doDrain) {
world.removeBlock(pos);
}
return new FluidStack(fluid, 1000);
}
} else {
return null;
}
}
@Override
public double getBaseMaxPower() {
return 10000;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return false;
}
@Override
public double getBaseMaxOutput() {
return 0;
}
@Override
public double getBaseMaxInput() {
return 32;
}
@Override
public void read(NBTTagCompound tagCompound) {
super.read(tagCompound);
readWithoutCoords(tagCompound);
}
@Override
public void readWithoutCoords(NBTTagCompound tagCompound) {
tank.read(tagCompound);
}
@Override
public NBTTagCompound write(NBTTagCompound tagCompound) {
super.write(tagCompound);
writeWithoutCoords(tagCompound);
return tagCompound;
}
@Override
public NBTTagCompound writeWithoutCoords(NBTTagCompound tagCompound) {
tank.write(tagCompound);
return tagCompound;
}
@Nullable
@Override
public Tank getTank() {
return tank;
}
}

View file

@ -25,12 +25,18 @@
package techreborn.tiles;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import reborncore.common.registration.RebornRegister;
import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import javax.annotation.Nonnull;
@RebornRegister(TechReborn.MOD_ID)
public class TileQuantumChest extends TileTechStorageBase implements IContainerProvider {
@ -39,7 +45,11 @@ public class TileQuantumChest extends TileTechStorageBase implements IContainerP
public static int maxStorage = Integer.MAX_VALUE;
public TileQuantumChest() {
super("TileQuantumChest", maxStorage);
this(TRTileEntities.QUANTUM_CHEST);
}
public TileQuantumChest(TileEntityType<?> tileEntityType) {
super(tileEntityType, "TileQuantumChest", maxStorage);
}
@Override
@ -47,4 +57,5 @@ public class TileQuantumChest extends TileTechStorageBase implements IContainerP
return new ContainerBuilder("quantumchest").player(player.inventory).inventory().hotbar().addInventory()
.tile(this).slot(0, 80, 24).outputSlot(1, 80, 64).addInventory().create(this);
}
}

View file

@ -29,6 +29,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntityType;
import reborncore.api.IListInfoProvider;
import reborncore.api.IToolDrop;
import reborncore.api.tile.ItemHandlerProvider;
@ -43,6 +44,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import javax.annotation.Nullable;
import java.util.List;
@ -57,6 +59,14 @@ public class TileQuantumTank extends TileMachineBase
public Tank tank = new Tank("TileQuantumTank", maxStorage, this);
public Inventory<TileQuantumTank> inventory = new Inventory<>(3, "TileQuantumTank", 64, this).withConfiguredAccess();
public TileQuantumTank(){
this(TRTileEntities.QUANTUM_TANK);
}
public TileQuantumTank(TileEntityType<?> tileEntityTypeIn) {
super(tileEntityTypeIn);
}
public void readWithoutCoords(final NBTTagCompound tagCompound) {
tank.read(tagCompound);
}

View file

@ -29,8 +29,11 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.common.util.NonNullSupplier;
import net.minecraftforge.items.CapabilityItemHandler;
import reborncore.api.IListInfoProvider;
import reborncore.api.IToolDrop;
@ -39,6 +42,7 @@ import reborncore.common.tile.TileMachineBase;
import reborncore.common.util.Inventory;
import reborncore.common.util.ItemUtils;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
@ -50,7 +54,8 @@ public class TileTechStorageBase extends TileMachineBase
public final Inventory<TileTechStorageBase> inventory;
public ItemStack storedItem;
public TileTechStorageBase(String name, int maxCapacity) {
public TileTechStorageBase(TileEntityType<?> tileEntityTypeIn, String name, int maxCapacity) {
super(tileEntityTypeIn);
this.maxCapacity = maxCapacity;
storedItem = ItemStack.EMPTY;
inventory = new Inventory<>(3, name, maxCapacity, this).withConfiguredAccess();
@ -61,7 +66,7 @@ public class TileTechStorageBase extends TileMachineBase
storedItem = ItemStack.EMPTY;
if (tagCompound.hasKey("storedStack")) {
storedItem = new ItemStack((NBTTagCompound) tagCompound.getTag("storedStack"));
storedItem = ItemStack.read(tagCompound.getCompound("storedStack"));
}
if (!storedItem.isEmpty()) {
@ -213,17 +218,20 @@ public class TileTechStorageBase extends TileMachineBase
return tagCompound;
}
@Nonnull
@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(inventory);
}
return super.getCapability(capability, facing);
}
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap) {
if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
return LazyOptional.of(new NonNullSupplier<T>() {
@Nonnull
@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing);
public T get() {
return (T) inventory;
}
});
}
return super.getCapability(cap);
}
// ItemHandlerProvider
@ -245,11 +253,11 @@ public class TileTechStorageBase extends TileMachineBase
int size = 0;
String name = "of nothing";
if (!storedItem.isEmpty()) {
name = storedItem.getDisplayName();
name = storedItem.getDisplayName().getString();
size += storedItem.getCount();
}
if (!inventory.getStackInSlot(1).isEmpty()) {
name = inventory.getStackInSlot(1).getDisplayName();
name = inventory.getStackInSlot(1).getDisplayName().getString();
size += inventory.getStackInSlot(1).getCount();
}
info.add(size + " " + name);

View file

@ -31,6 +31,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.util.text.TextFormatting;
@ -44,6 +45,7 @@ import reborncore.common.powerSystem.PowerSystem;
import reborncore.common.util.StringUtils;
import techreborn.blocks.cable.BlockCable;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import java.util.ArrayList;
import java.util.List;
@ -61,6 +63,10 @@ public class TileCable extends TileEntity
private ArrayList<EnumFacing> sendingFace = new ArrayList<EnumFacing>();
int ticksSinceLastChange = 0;
public TileCable() {
super(TRTileEntities.CABLE);
}
private TRContent.Cables getCableType() {
Block block = world.getBlockState(pos).getBlock();
if(block instanceof BlockCable){
@ -132,7 +138,7 @@ public class TileCable extends TileEntity
// ITickable
@Override
public void update() {
public void tick() {
if (world.isRemote) {
return;
}

View file

@ -45,6 +45,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import java.util.List;
@ -76,7 +77,7 @@ public class TileFusionControlComputer extends TilePowerAcceptor
boolean hasStartedCrafting = false;
public TileFusionControlComputer() {
super();
super(TRTileEntities.FUSION_CONTROL_COMPUTER);
checkOverfill = false;
this.inventory = new Inventory<>(3, "TileFusionControlComputer", 64, this).withConfiguredAccess();
}

View file

@ -25,6 +25,7 @@
package techreborn.tiles.generator;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fluids.FluidStack;
import reborncore.api.IToolDrop;
@ -58,8 +59,8 @@ public abstract class TileBaseFluidGenerator extends TilePowerAcceptor implement
*/
double pendingWithdraw = 0.0;
public TileBaseFluidGenerator(EFluidGenerator type, String tileName, int tankCapacity, int euTick) {
super();
public TileBaseFluidGenerator(TileEntityType<?> tileEntityType, EFluidGenerator type, String tileName, int tankCapacity, int euTick) {
super(tileEntityType);
recipes = GeneratorRecipeHelper.getFluidRecipesForGenerator(type);
tank = new Tank(tileName, tankCapacity, this);
inventory = new Inventory<>(3, tileName, 64, this).withConfiguredAccess();

View file

@ -38,6 +38,7 @@ import reborncore.common.registration.RebornRegister;
import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileLightningRod extends TilePowerAcceptor implements IToolDrop {
@ -54,7 +55,7 @@ public class TileLightningRod extends TilePowerAcceptor implements IToolDrop {
private int onStatusHoldTicks = -1;
public TileLightningRod() {
super();
super(TRTileEntities.LIGHTNING_ROD);
}
@Override

View file

@ -34,6 +34,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TilePlasmaGenerator extends TileBaseFluidGenerator implements IContainerProvider {
@ -48,7 +49,7 @@ public class TilePlasmaGenerator extends TileBaseFluidGenerator implements ICont
public static int energyPerTick = 400;
public TilePlasmaGenerator() {
super(EFluidGenerator.PLASMA, "TilePlasmaGenerator", tankCapacity, energyPerTick);
super(TRTileEntities.PLASMA_GENERATOR, EFluidGenerator.PLASMA, "TilePlasmaGenerator", tankCapacity, energyPerTick);
}
@Override

View file

@ -28,6 +28,7 @@ import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.TextFormatting;
import reborncore.api.IToolDrop;
@ -38,6 +39,7 @@ import reborncore.common.util.StringUtils;
import techreborn.blocks.generator.BlockSolarPanel;
import techreborn.init.TRContent;
import techreborn.init.TRContent.SolarPanels;
import techreborn.init.TRTileEntities;
import java.util.List;
@ -47,6 +49,10 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
boolean lastState = false;
SolarPanels panel;
public TileSolarPanel() {
super(TRTileEntities.SOLAR_PANEL);
}
public boolean isSunOut() {
return canSeeSky && !world.isRaining() && !world.isThundering() && world.isDaytime();
}

View file

@ -31,6 +31,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.api.generator.EFluidGenerator;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.generator.TileBaseFluidGenerator;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
@ -49,7 +50,7 @@ public class TileDieselGenerator extends TileBaseFluidGenerator implements ICont
public static int energyPerTick = 20;
public TileDieselGenerator() {
super(EFluidGenerator.DIESEL, "TileDieselGenerator", tankCapacity, energyPerTick);
super(TRTileEntities.DIESEL_GENERATOR, EFluidGenerator.DIESEL, "TileDieselGenerator", tankCapacity, energyPerTick);
}
@Override

View file

@ -38,6 +38,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import reborncore.common.util.Inventory;
import techreborn.TechReborn;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileDragonEggSyphon extends TilePowerAcceptor
@ -54,7 +55,7 @@ public class TileDragonEggSyphon extends TilePowerAcceptor
private long lastOutput = 0;
public TileDragonEggSyphon() {
super();
super(TRTileEntities.DRAGON_EGG_SYPHON);
}
private boolean tryAddingEnergy(int amount) {

View file

@ -31,6 +31,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.api.generator.EFluidGenerator;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.generator.TileBaseFluidGenerator;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
@ -49,7 +50,7 @@ public class TileGasTurbine extends TileBaseFluidGenerator implements IContainer
public static int energyPerTick = 16;
public TileGasTurbine() {
super(EFluidGenerator.GAS, "TileGasTurbine", tankCapacity, energyPerTick);
super(TRTileEntities.GAS_TURBINE, EFluidGenerator.GAS, "TileGasTurbine", tankCapacity, energyPerTick);
}
@Override

View file

@ -31,6 +31,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.api.generator.EFluidGenerator;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.generator.TileBaseFluidGenerator;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
@ -49,7 +50,7 @@ public class TileSemiFluidGenerator extends TileBaseFluidGenerator implements IC
public static int energyPerTick = 8;
public TileSemiFluidGenerator() {
super(EFluidGenerator.SEMIFLUID, "TileSemiFluidGenerator", tankCapacity, energyPerTick);
super(TRTileEntities.SEMI_FLUID_GENERATOR, EFluidGenerator.SEMIFLUID, "TileSemiFluidGenerator", tankCapacity, energyPerTick);
}
@Override

View file

@ -31,6 +31,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.api.generator.EFluidGenerator;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.generator.TileBaseFluidGenerator;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
@ -49,7 +50,7 @@ public class TileThermalGenerator extends TileBaseFluidGenerator implements ICon
public static int energyPerTick = 10;
public TileThermalGenerator() {
super(EFluidGenerator.THERMAL, "TileThermalGenerator", tankCapacity, energyPerTick);
super(TRTileEntities.THERMAL_GEN, EFluidGenerator.THERMAL, "TileThermalGenerator", tankCapacity, energyPerTick);
}
@Override

View file

@ -43,6 +43,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileSolidFuelGenerator extends TilePowerAcceptor implements IToolDrop, ItemHandlerProvider, IContainerProvider {
@ -65,7 +66,7 @@ public class TileSolidFuelGenerator extends TilePowerAcceptor implements IToolDr
ItemStack burnItem;
public TileSolidFuelGenerator() {
super();
super(TRTileEntities.SOLID_FUEL_GENEREATOR);
}
public static int getItemBurnTime(ItemStack stack) {

View file

@ -35,6 +35,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.blocks.generator.BlockWindMill;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 25/02/2016.
@ -53,7 +54,7 @@ public class TileWaterMill extends TilePowerAcceptor implements IToolDrop {
int waterblocks = 0;
public TileWaterMill() {
super();
super(TRTileEntities.WATER_MILL);
}
@Override

View file

@ -33,6 +33,7 @@ import reborncore.common.registration.RebornRegister;
import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 25/02/2016.
@ -51,7 +52,7 @@ public class TileWindMill extends TilePowerAcceptor implements IToolDrop {
public static double thunderMultiplier = 1.25;
public TileWindMill() {
super();
super(TRTileEntities.WIND_MILL);
}
@Override

View file

@ -28,16 +28,22 @@ import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import reborncore.api.IToolDrop;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.blocks.lighting.BlockLamp;
import techreborn.init.TRTileEntities;
public class TileLamp extends TilePowerAcceptor
implements IToolDrop {
private static int capacity = 33;
public TileLamp() {
super(TRTileEntities.LAMP);
}
// TilePowerAcceptor
@Override
public void tick() {

View file

@ -47,6 +47,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileIronAlloyFurnace extends TileMachineBase
@ -63,7 +64,7 @@ public class TileIronAlloyFurnace extends TileMachineBase
int fuel = 3;
public TileIronAlloyFurnace() {
super(TRTileEntities.IRON_ALLOY_FURNACE);
}
/**

View file

@ -29,6 +29,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.tileentity.TileEntityType;
import reborncore.api.tile.ItemHandlerProvider;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.tile.TileMachineBase;
@ -38,6 +39,7 @@ import reborncore.common.util.ItemUtils;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
public class TileIronFurnace extends TileMachineBase
implements ItemHandlerProvider, IContainerProvider {
@ -53,6 +55,10 @@ public class TileIronFurnace extends TileMachineBase
int fuelslot = 2;
boolean active = false;
public TileIronFurnace() {
super(TRTileEntities.IRON_FURNACE);
}
public int gaugeProgressScaled(final int scale) {
return this.progress * scale / this.fuelScale;
}

View file

@ -37,6 +37,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -50,7 +51,7 @@ public class TileDistillationTower extends TileGenericMachine implements IContai
public MultiblockChecker multiblockChecker;
public TileDistillationTower() {
super("DistillationTower", maxInput, maxEnergy, TRContent.Machine.DISTILLATION_TOWER.block, 6);
super(TRTileEntities.DISTILLATION_TOWER,"DistillationTower", maxInput, maxEnergy, TRContent.Machine.DISTILLATION_TOWER.block, 6);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2, 3, 4, 5 };
this.inventory = new Inventory<>(7, "TileDistillationTower", 64, this).withConfiguredAccess();
@ -74,14 +75,14 @@ public class TileDistillationTower extends TileGenericMachine implements IContai
// TileGenericMachine
@Override
public void update() {
public void tick() {
if (multiblockChecker == null) {
final BlockPos downCenter = pos.offset(getFacing().getOpposite(), 2);
multiblockChecker = new MultiblockChecker(world, downCenter);
}
if (!world.isRemote && getMutliBlock()){
super.update();
super.tick();
}
}

View file

@ -40,6 +40,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
import javax.annotation.Nullable;
@ -63,7 +64,7 @@ public class TileFluidReplicator extends TileGenericMachine implements IContaine
int ticksSinceLastChange;
public TileFluidReplicator() {
super("FluidReplicator", maxInput, maxEnergy, TRContent.Machine.FLUID_REPLICATOR.block, 3);
super(TRTileEntities.FLUID_REPLICATOR, "FluidReplicator", maxInput, maxEnergy, TRContent.Machine.FLUID_REPLICATOR.block, 3);
final int[] inputs = new int[] { 0 };
this.inventory = new Inventory<>(4, "TileFluidReplicator", 64, this, getInventoryAccess());
this.crafter = new FluidReplicatorRecipeCrafter(this, this.inventory, inputs, null);

View file

@ -36,6 +36,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -49,7 +50,7 @@ public class TileImplosionCompressor extends TileGenericMachine implements ICont
public MultiblockChecker multiblockChecker;
public TileImplosionCompressor() {
super("ImplosionCompressor", maxInput, maxEnergy, TRContent.Machine.IMPLOSION_COMPRESSOR.block, 4);
super(TRTileEntities.IMPLOSION_COMPRESSOR, "ImplosionCompressor", maxInput, maxEnergy, TRContent.Machine.IMPLOSION_COMPRESSOR.block, 4);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2, 3 };
this.inventory = new Inventory<>(5, "TileImplosionCompressor", 64, this);

View file

@ -45,6 +45,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.multiblocks.MultiBlockCasing;
import techreborn.tiles.TileGenericMachine;
import techreborn.tiles.TileMachineCasing;
@ -61,7 +62,7 @@ public class TileIndustrialBlastFurnace extends TileGenericMachine implements IC
private int cachedHeat;
public TileIndustrialBlastFurnace() {
super("IndustrialBlastFurnace", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_BLAST_FURNACE.block, 4);
super(TRTileEntities.INDUSTRIAL_BLAST_FURNACE, "IndustrialBlastFurnace", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_BLAST_FURNACE.block, 4);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2, 3 };
this.inventory = new Inventory<>(5, "TileIndustrialBlastFurnace", 64, this).withConfiguredAccess();

View file

@ -49,6 +49,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
import javax.annotation.Nullable;
@ -67,7 +68,7 @@ public class TileIndustrialGrinder extends TileGenericMachine implements IContai
int ticksSinceLastChange;
public TileIndustrialGrinder() {
super("IndustrialGrinder", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_GRINDER.block, 7);
super(TRTileEntities.INDUSTRIAL_GRINDER, "IndustrialGrinder", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_GRINDER.block, 7);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] {2, 3, 4, 5};
this.inventory = new Inventory<>(8, "TileIndustrialGrinder", 64, this, getInventoryAccess());

View file

@ -49,6 +49,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
import javax.annotation.Nullable;
@ -66,7 +67,7 @@ public class TileIndustrialSawmill extends TileGenericMachine implements IContai
int ticksSinceLastChange;
public TileIndustrialSawmill() {
super("IndustrialSawmill", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_SAWMILL.block, 6);
super(TRTileEntities.INDUSTRIAL_SAWMILL, "IndustrialSawmill", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_SAWMILL.block, 6);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2, 3, 4 };
this.inventory = new Inventory<>(7, "TileSawmill", 64, this, getInventoryAccess());

View file

@ -35,6 +35,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -48,7 +49,7 @@ public class TileVacuumFreezer extends TileGenericMachine implements IContainerP
public MultiblockChecker multiblockChecker;
public TileVacuumFreezer() {
super("VacuumFreezer", maxInput, maxEnergy, TRContent.Machine.VACUUM_FREEZER.block, 2);
super(TRTileEntities.VACUUM_FREEZER, "VacuumFreezer", maxInput, maxEnergy, TRContent.Machine.VACUUM_FREEZER.block, 2);
final int[] inputs = new int[] { 0 };
final int[] outputs = new int[] { 1 };
this.inventory = new Inventory<>(3, "TileVacuumFreezer", 64, this).withConfiguredAccess();

View file

@ -38,6 +38,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -49,7 +50,7 @@ public class TileAlloySmelter extends TileGenericMachine implements IContainerPr
public static int maxEnergy = 1_000;
public TileAlloySmelter() {
super("AlloySmelter", maxInput, maxEnergy, TRContent.Machine.ALLOY_SMELTER.block, 3);
super(TRTileEntities.ALLOY_SMELTER, "AlloySmelter", maxInput, maxEnergy, TRContent.Machine.ALLOY_SMELTER.block, 3);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2 };
this.inventory = new Inventory<>(4, "TileAlloySmelter", 64, this).withConfiguredAccess();
@ -64,11 +65,11 @@ public class TileAlloySmelter extends TileGenericMachine implements IContainerPr
.filterSlot(0, 34, 47,
stack -> RecipeHandler.recipeList.stream()
.anyMatch(recipe -> recipe instanceof AlloySmelterRecipe
&& ItemUtils.isInputEqual(recipe.getInputs().get(0), stack, true, true, true)))
&& ItemUtils.isInputEqual(recipe.getInputs().get(0), stack, true, true)))
.filterSlot(1, 126, 47,
stack -> RecipeHandler.recipeList.stream()
.anyMatch(recipe -> recipe instanceof AlloySmelterRecipe
&& ItemUtils.isInputEqual(recipe.getInputs().get(1), stack, true, true, true)))
&& ItemUtils.isInputEqual(recipe.getInputs().get(1), stack, true, true)))
.outputSlot(2, 80, 47).energySlot(3, 8, 72).syncEnergyValue().syncCrafterValue().addInventory()
.create(this);
}

View file

@ -35,6 +35,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -46,7 +47,7 @@ public class TileAssemblingMachine extends TileGenericMachine implements IContai
public static int maxEnergy = 10_000;
public TileAssemblingMachine() {
super("AssemblingMachine", maxInput, maxEnergy, TRContent.Machine.ASSEMBLY_MACHINE.block, 3);
super(TRTileEntities.ASSEMBLY_MACHINE, "AssemblingMachine", maxInput, maxEnergy, TRContent.Machine.ASSEMBLY_MACHINE.block, 3);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2 };
this.inventory = new Inventory<>(4, "TileAssemblingMachine", 64, this).withConfiguredAccess();

View file

@ -28,7 +28,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTTagCompound;
@ -50,6 +49,7 @@ import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.ModSounds;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import javax.annotation.Nullable;
import java.util.ArrayList;
@ -79,7 +79,7 @@ public class TileAutoCraftingTable extends TilePowerAcceptor
public boolean locked = true;
public TileAutoCraftingTable() {
super();
super(TRTileEntities.AUTO_CRAFTING_TABLE);
}
@Nullable
@ -133,7 +133,7 @@ public class TileAutoCraftingTable extends TilePowerAcceptor
requiredSize = 0;
}
if (stacksInSlots[i] > requiredSize) {
if (ingredient.apply(stack)) {
if (ingredient.test(stack)) {
if (stack.getItem().getContainerItem() != null) {
if (!hasRoomForExtraItem(stack.getItem().getContainerItem(stack))) {
continue;
@ -189,13 +189,13 @@ public class TileAutoCraftingTable extends TilePowerAcceptor
Ingredient ingredient = recipe.getIngredients().get(i);
// Looks for the best slot to take it from
ItemStack bestSlot = inventory.getStackInSlot(i);
if (ingredient.apply(bestSlot)) {
if (ingredient.test(bestSlot)) {
handleContainerItem(bestSlot);
bestSlot.shrink(1);
} else {
for (int j = 0; j < 9; j++) {
ItemStack stack = inventory.getStackInSlot(j);
if (ingredient.apply(stack)) {
if (ingredient.test(stack)) {
handleContainerItem(stack);
stack.shrink(1); // TODO is this right? or do I need
// to use it as an actull
@ -235,7 +235,7 @@ public class TileAutoCraftingTable extends TilePowerAcceptor
public boolean hasIngredient(Ingredient ingredient) {
for (int i = 0; i < 9; i++) {
ItemStack stack = inventory.getStackInSlot(i);
if (ingredient.apply(stack)) {
if (ingredient.test(stack)) {
return true;
}
}
@ -261,11 +261,10 @@ public class TileAutoCraftingTable extends TilePowerAcceptor
for (int i = 0; i < recipe.getIngredients().size(); i++) {
ItemStack stackInSlot = inventory.getStackInSlot(i);
Ingredient ingredient = recipe.getIngredients().get(i);
if (ingredient != Ingredient.EMPTY && ingredient.apply(stack)) {
if (ingredient != Ingredient.EMPTY && ingredient.test(stack)) {
if (stackInSlot.isEmpty()) {
possibleSlots.add(i);
} else if (stackInSlot.getItem() == stack.getItem()
&& stackInSlot.getItemDamage() == stack.getItemDamage()) {
} else if (stackInSlot.getItem() == stack.getItem()) {
if (stackInSlot.getMaxStackSize() >= stackInSlot.getCount() + stack.getCount()) {
possibleSlots.add(i);
}
@ -312,8 +311,8 @@ public class TileAutoCraftingTable extends TilePowerAcceptor
// TilePowerAcceptor
@Override
public void update() {
super.update();
public void tick() {
super.tick();
if (world.isRemote) {
return;
}

View file

@ -35,6 +35,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -46,7 +47,7 @@ public class TileChemicalReactor extends TileGenericMachine implements IContaine
public static int maxEnergy = 10_000;
public TileChemicalReactor() {
super("ChemicalReactor", maxInput, maxEnergy, TRContent.Machine.CHEMICAL_REACTOR.block, 3);
super(TRTileEntities.CHEMICAL_REACTOR, "ChemicalReactor", maxInput, maxEnergy, TRContent.Machine.CHEMICAL_REACTOR.block, 3);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2 };
this.inventory = new Inventory<>(4, "TileChemicalReactor", 64, this).withConfiguredAccess();

View file

@ -35,6 +35,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -46,7 +47,7 @@ public class TileCompressor extends TileGenericMachine implements IContainerProv
public static int maxEnergy = 1000;
public TileCompressor() {
super("Compressor", maxInput, maxEnergy, TRContent.Machine.COMPRESSOR.block, 2);
super(TRTileEntities.COMPRESSOR, "Compressor", maxInput, maxEnergy, TRContent.Machine.COMPRESSOR.block, 2);
final int[] inputs = new int[] { 0 };
final int[] outputs = new int[] { 1 };
this.inventory = new Inventory<>(3, "TileCompressor", 64, this).withConfiguredAccess();

View file

@ -41,6 +41,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileElectricFurnace extends TilePowerAcceptor
@ -60,7 +61,7 @@ public class TileElectricFurnace extends TilePowerAcceptor
boolean wasBurning = false;
public TileElectricFurnace() {
super();
super(TRTileEntities.ELECTRIC_FURNACE );
}
public int gaugeProgressScaled(int scale) {
@ -125,7 +126,7 @@ public class TileElectricFurnace extends TilePowerAcceptor
final IBlockState BlockStateContainer = world.getBlockState(pos);
if (BlockStateContainer.getBlock() instanceof BlockMachineBase) {
final BlockMachineBase blockMachineBase = (BlockMachineBase) BlockStateContainer.getBlock();
if (BlockStateContainer.getValue(BlockMachineBase.ACTIVE) != progress > 0)
if (BlockStateContainer.get(BlockMachineBase.ACTIVE) != progress > 0)
blockMachineBase.setActive(progress > 0, world, pos);
}
wasBurning = (progress > 0);
@ -143,12 +144,12 @@ public class TileElectricFurnace extends TilePowerAcceptor
// TilePowerAcceptor
@Override
public void update() {
public void tick() {
if (world.isRemote) {
return;
}
super.update();
super.tick();
charge(2);
final boolean burning = isBurning();

View file

@ -35,6 +35,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -46,7 +47,7 @@ public class TileExtractor extends TileGenericMachine implements IContainerProvi
public static int maxEnergy = 1_000;
public TileExtractor() {
super("Extractor", maxInput, maxEnergy, TRContent.Machine.EXTRACTOR.block, 2);
super(TRTileEntities.EXTRACTOR, "Extractor", maxInput, maxEnergy, TRContent.Machine.EXTRACTOR.block, 2);
final int[] inputs = new int[] { 0 };
final int[] outputs = new int[] { 1 };
this.inventory = new Inventory<>(3, "TileExtractor", 64, this).withConfiguredAccess();

View file

@ -35,6 +35,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -46,7 +47,7 @@ public class TileGrinder extends TileGenericMachine implements IContainerProvide
public static int maxEnergy = 1_000;
public TileGrinder() {
super("Grinder", maxInput, maxEnergy, TRContent.Machine.GRINDER.block, 2);
super(TRTileEntities.GRINDER, "Grinder", maxInput, maxEnergy, TRContent.Machine.GRINDER.block, 2);
final int[] inputs = new int[] { 0 };
final int[] outputs = new int[] { 1 };
this.inventory = new Inventory<>(3, "TileGrinder", 64, this).withConfiguredAccess();

View file

@ -36,6 +36,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.items.DynamicCell;
import techreborn.tiles.TileGenericMachine;
@ -48,7 +49,7 @@ public class TileIndustrialElectrolyzer extends TileGenericMachine implements IC
public static int maxEnergy = 10_000;
public TileIndustrialElectrolyzer() {
super("IndustrialElectrolyzer", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_ELECTROLYZER.block, 6);
super(TRTileEntities.INDUSTRIAL_ELECTROLYZER, "IndustrialElectrolyzer", maxInput, maxEnergy, TRContent.Machine.INDUSTRIAL_ELECTROLYZER.block, 6);
final int[] inputs = new int[] { 0, 1 };
final int[] outputs = new int[] { 2, 3, 4, 5 };
this.inventory = new Inventory<>(7, "TileIndustrialElectrolyzer", 64, this).withConfiguredAccess();

View file

@ -36,6 +36,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import reborncore.common.util.WorldUtils;
import techreborn.TechReborn;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import java.util.Iterator;
@ -53,7 +54,7 @@ public class TilePlayerDectector extends TilePowerAcceptor implements IToolDrop
boolean redstone = false;
public TilePlayerDectector() {
super();
super(TRTileEntities.PLAYER_DETECTOR);
}
public boolean isProvidingPower() {
@ -62,9 +63,9 @@ public class TilePlayerDectector extends TilePowerAcceptor implements IToolDrop
// TilePowerAcceptor
@Override
public void update() {
super.update();
if (!world.isRemote && world.getWorldTime() % 20 == 0) {
public void tick() {
super.tick();
if (!world.isRemote && world.getGameTime() % 20 == 0) {
boolean lastRedstone = redstone;
redstone = false;
if (canUseEnergy(euPerTick)) {

View file

@ -40,6 +40,7 @@ import techreborn.init.TRContent;
import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileRecycler extends TilePowerAcceptor
@ -58,7 +59,7 @@ public class TileRecycler extends TilePowerAcceptor
private int progress;
public TileRecycler() {
super();
super(TRTileEntities.RECYCLER);
}
public int gaugeProgressScaled(int scale) {
@ -114,7 +115,7 @@ public class TileRecycler extends TilePowerAcceptor
if (BlockStateContainer.getBlock() instanceof BlockMachineBase) {
final BlockMachineBase blockMachineBase = (BlockMachineBase) BlockStateContainer.getBlock();
boolean shouldBurn = isBurning || (canRecycle() && canUseEnergy(getEuPerTick(cost)));
if (BlockStateContainer.getValue(BlockMachineBase.ACTIVE) != shouldBurn) {
if (BlockStateContainer.get(BlockMachineBase.ACTIVE) != shouldBurn) {
blockMachineBase.setActive(isBurning, world, pos);
}
}
@ -122,8 +123,8 @@ public class TileRecycler extends TilePowerAcceptor
// TilePowerAcceptor
@Override
public void update() {
super.update();
public void tick() {
super.tick();
if (world.isRemote) {
return;
}

View file

@ -46,6 +46,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import javax.annotation.Nonnull;
import java.util.ArrayList;
@ -80,7 +81,7 @@ public class TileRollingMachine extends TilePowerAcceptor
public int balanceSlot = 0;
public TileRollingMachine() {
super();
super(TRTileEntities.ROLLING_MACHINE);
outputSlot = 9;
}
@ -110,8 +111,8 @@ public class TileRollingMachine extends TilePowerAcceptor
}
@Override
public void update() {
super.update();
public void tick() {
super.tick();
if (world.isRemote) {
return;
}
@ -120,7 +121,7 @@ public class TileRollingMachine extends TilePowerAcceptor
InventoryCrafting craftMatrix = getCraftingMatrix();
currentRecipe = RollingMachineRecipe.instance.findMatchingRecipe(craftMatrix, world);
if (currentRecipe != null) {
if (world.getTotalWorldTime() % 2 == 0) {
if (world.getGameTime() % 2 == 0) {
Optional<InventoryCrafting> balanceResult = balanceRecipe(craftMatrix);
if (balanceResult.isPresent()) {
craftMatrix = balanceResult.get();
@ -203,10 +204,10 @@ public class TileRollingMachine extends TilePowerAcceptor
for (int s = 0; s < currentRecipe.getIngredients().size(); s++) {
ItemStack stackInSlot = inventory.getStackInSlot(s);
Ingredient ingredient = currentRecipe.getIngredients().get(s);
if (ingredient != Ingredient.EMPTY && ingredient.apply(sourceStack)) {
if (ingredient != Ingredient.EMPTY && ingredient.test(sourceStack)) {
if (stackInSlot.isEmpty()) {
possibleSlots.add(s);
} else if (stackInSlot.getItem() == sourceStack.getItem() && stackInSlot.getItemDamage() == sourceStack.getItemDamage()) {
} else if (stackInSlot.getItem() == sourceStack.getItem()) {
possibleSlots.add(s);
}
}
@ -229,7 +230,7 @@ public class TileRollingMachine extends TilePowerAcceptor
|| bestSlot.getLeft() == balanceSlot
|| bestSlot.getRight() == sourceStack.getCount()
|| inventory.getStackInSlot(bestSlot.getLeft()).isEmpty()
|| !ItemUtils.isItemEqual(sourceStack, inventory.getStackInSlot(bestSlot.getLeft()), true, true, true)) {
|| !ItemUtils.isItemEqual(sourceStack, inventory.getStackInSlot(bestSlot.getLeft()), true, true)) {
return Optional.empty();
}
sourceStack.shrink(1);

View file

@ -34,6 +34,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.TileGenericMachine;
@RebornRegister(TechReborn.MOD_ID)
@ -45,7 +46,7 @@ public class TileScrapboxinator extends TileGenericMachine implements IContainer
public static int maxEnergy = 1_000;
public TileScrapboxinator() {
super("Scrapboxinator", maxInput, maxEnergy, TRContent.Machine.SCRAPBOXINATOR.block, 2);
super(TRTileEntities.SCRAPBOXINATOR, "Scrapboxinator", maxInput, maxEnergy, TRContent.Machine.SCRAPBOXINATOR.block, 2);
final int[] inputs = new int[] { 0 };
final int[] outputs = new int[] { 1 };
this.inventory = new Inventory<>(3, "TileScrapboxinator", 64, this).withConfiguredAccess();

View file

@ -36,6 +36,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
@RebornRegister(TechReborn.MOD_ID)
public class TileAdjustableSU extends TileEnergyStorage implements IContainerProvider {
@ -51,7 +52,7 @@ public class TileAdjustableSU extends TileEnergyStorage implements IContainerPro
private int OUTPUT = 64; // The current output
public TileAdjustableSU() {
super("ADJUSTABLE_SU", 4, TRContent.Machine.ADJUSTABLE_SU.block, EnumPowerTier.INSANE, maxInput, maxOutput, maxEnergy);
super(TRTileEntities.ADJUSTABLE_SU, "ADJUSTABLE_SU", 4, TRContent.Machine.ADJUSTABLE_SU.block, EnumPowerTier.INSANE, maxInput, maxOutput, maxEnergy);
}
public void handleGuiInputFromClient(int id) {

View file

@ -27,6 +27,7 @@ package techreborn.tiles.storage;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import reborncore.api.IToolDrop;
import reborncore.api.power.EnumPowerTier;
@ -50,8 +51,8 @@ public class TileEnergyStorage extends TilePowerAcceptor
public int maxOutput;
public int maxStorage;
public TileEnergyStorage(String name, int invSize, Block wrenchDrop, EnumPowerTier tier, int maxInput, int maxOuput, int maxStorage) {
super();
public TileEnergyStorage(TileEntityType<?> tileEntityType, String name, int invSize, Block wrenchDrop, EnumPowerTier tier, int maxInput, int maxOuput, int maxStorage) {
super(tileEntityType);
inventory = new Inventory<>(invSize, "Tile" + name, 64, this).withConfiguredAccess();
this.wrenchDrop = wrenchDrop;
this.tier = tier;

View file

@ -30,6 +30,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 14/03/2016.
@ -41,7 +42,7 @@ public class TileHighVoltageSU extends TileEnergyStorage implements IContainerPr
* MFSU should store 40M FE with 2048 FE/t I/O
*/
public TileHighVoltageSU() {
super("HIGH_VOLTAGE_SU", 2, TRContent.Machine.HIGH_VOLTAGE_SU.block, EnumPowerTier.HIGH, 512, 512, 10_000_000);
super(TRTileEntities.HIGH_VOLTAGE_SU, "HIGH_VOLTAGE_SU", 2, TRContent.Machine.HIGH_VOLTAGE_SU.block, EnumPowerTier.HIGH, 512, 512, 10_000_000);
}
@Override

View file

@ -30,6 +30,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 14/03/2016.
@ -37,7 +38,7 @@ import techreborn.init.TRContent;
public class TileLowVoltageSU extends TileEnergyStorage implements IContainerProvider {
public TileLowVoltageSU() {
super("BatBox", 2, TRContent.Machine.LOW_VOLTAGE_SU.block, EnumPowerTier.LOW, 32, 32, 40000);
super(TRTileEntities.LOW_VOLTAGE_SU, "BatBox", 2, TRContent.Machine.LOW_VOLTAGE_SU.block, EnumPowerTier.LOW, 32, 32, 40000);
}
@Override

View file

@ -30,6 +30,7 @@ import reborncore.client.containerBuilder.IContainerProvider;
import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 14/03/2016.
@ -41,7 +42,7 @@ public class TileMediumVoltageSU extends TileEnergyStorage implements IContainer
* MFE should store 1.2M FE with 512 FE/t I/O
*/
public TileMediumVoltageSU() {
super("MEDIUM_VOLTAGE_SU", 2, TRContent.Machine.MEDIUM_VOLTAGE_SU.block, EnumPowerTier.MEDIUM, 128, 128, 300000);
super(TRTileEntities.MEDIUM_VOLTAGE_SU, "MEDIUM_VOLTAGE_SU", 2, TRContent.Machine.MEDIUM_VOLTAGE_SU.block, EnumPowerTier.MEDIUM, 128, 128, 300000);
}
@Override

View file

@ -26,11 +26,12 @@ package techreborn.tiles.storage.idsu;
import net.minecraft.world.World;
import net.minecraft.world.storage.MapStorage;
import net.minecraft.world.storage.WorldSavedDataStorage;
import techreborn.TechReborn;
public class IDSUManager {
public static IDataIDSU getData(World world) {
MapStorage storage = world.getMapStorage();
WorldSavedDataStorage storage = world.getMapStorage();
IDSUSaveManger instance = (IDSUSaveManger) storage.getOrLoadData(IDSUSaveManger.class, TechReborn.MOD_ID + "_IDSU");
if (instance == null) {

View file

@ -35,6 +35,7 @@ import reborncore.common.registration.RebornRegister;
import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.storage.TileEnergyStorage;
@RebornRegister(TechReborn.MOD_ID)
@ -50,7 +51,7 @@ public class TileInterdimensionalSU extends TileEnergyStorage implements IContai
public String ownerUdid;
public TileInterdimensionalSU() {
super("IDSU", 2, TRContent.Machine.INTERDIMENSIONAL_SU.block, EnumPowerTier.EXTREME, maxInput, maxOutput, maxEnergy);
super(TRTileEntities.INTERDIMENSIONAL_SU, "IDSU", 2, TRContent.Machine.INTERDIMENSIONAL_SU.block, EnumPowerTier.EXTREME, maxInput, maxOutput, maxEnergy);
}
@Override

View file

@ -26,18 +26,24 @@ package techreborn.tiles.storage.lesu;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import reborncore.api.IToolDrop;
import reborncore.common.tile.TileMachineBase;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
public class TileLSUStorage extends TileMachineBase
implements IToolDrop {
public LesuNetwork network;
public TileLSUStorage() {
super(TRTileEntities.LSU_STORAGE);
}
public final void findAndJoinNetwork(World world, int x, int y, int z) {
network = new LesuNetwork();
network.addElement(this);

View file

@ -38,6 +38,7 @@ import reborncore.common.registration.config.ConfigRegistry;
import techreborn.TechReborn;
import techreborn.blocks.storage.BlockLapotronicSU;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
import techreborn.tiles.storage.TileEnergyStorage;
import reborncore.client.containerBuilder.IContainerProvider;
@ -59,13 +60,13 @@ public class TileLapotronicSU extends TileEnergyStorage implements IContainerPro
private ArrayList<LesuNetwork> countedNetworks = new ArrayList<>();
public TileLapotronicSU() {
super("LESU", 2, TRContent.Machine.LAPOTRONIC_SU.block, EnumPowerTier.INSANE, 8192, baseOutput, 1_000_000);
super(TRTileEntities.LAPOTRONIC_SU, "LESU", 2, TRContent.Machine.LAPOTRONIC_SU.block, EnumPowerTier.INSANE, 8192, baseOutput, 1_000_000);
checkOverfill = false;
}
@Override
public void update() {
super.update();
public void tick() {
super.tick();
if (world.isRemote) {
return;
}

View file

@ -26,6 +26,7 @@ package techreborn.tiles.transformers;
import reborncore.api.power.EnumPowerTier;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 16/03/2016.
@ -33,7 +34,7 @@ import techreborn.init.TRContent;
public class TileHVTransformer extends TileTransformer {
public TileHVTransformer() {
super("HVTransformer", TRContent.Machine.HV_TRANSFORMER.block, EnumPowerTier.EXTREME);
super(TRTileEntities.HV_TRANSFORMER, "HVTransformer", TRContent.Machine.HV_TRANSFORMER.block, EnumPowerTier.EXTREME);
}
}

View file

@ -26,6 +26,7 @@ package techreborn.tiles.transformers;
import reborncore.api.power.EnumPowerTier;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 16/03/2016.
@ -33,7 +34,7 @@ import techreborn.init.TRContent;
public class TileLVTransformer extends TileTransformer {
public TileLVTransformer() {
super("LVTransformer", TRContent.Machine.LV_TRANSFORMER.block, EnumPowerTier.MEDIUM);
super(TRTileEntities.LV_TRANSFORMER, "LVTransformer", TRContent.Machine.LV_TRANSFORMER.block, EnumPowerTier.MEDIUM);
}
}

View file

@ -26,6 +26,7 @@ package techreborn.tiles.transformers;
import reborncore.api.power.EnumPowerTier;
import techreborn.init.TRContent;
import techreborn.init.TRTileEntities;
/**
* Created by modmuss50 on 16/03/2016.
@ -33,6 +34,6 @@ import techreborn.init.TRContent;
public class TileMVTransformer extends TileTransformer {
public TileMVTransformer() {
super("MVTransformer", TRContent.Machine.MV_TRANSFORMER.block, EnumPowerTier.HIGH);
super(TRTileEntities.MV_TRANSFORMER, "MVTransformer", TRContent.Machine.MV_TRANSFORMER.block, EnumPowerTier.HIGH);
}
}

View file

@ -27,6 +27,7 @@ package techreborn.tiles.transformers;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.TextFormatting;
import reborncore.api.IListInfoProvider;
@ -60,8 +61,8 @@ public class TileTransformer extends TilePowerAcceptor
public int maxOutput;
public int maxStorage;
public TileTransformer(String name, Block wrenchDrop, EnumPowerTier tier) {
super();
public TileTransformer(TileEntityType<?> tileEntityType, String name, Block wrenchDrop, EnumPowerTier tier) {
super(tileEntityType);
this.wrenchDrop = wrenchDrop;
this.inputTier = tier;
if (tier != EnumPowerTier.MICRO) {