Update to latest commit(Master)
This commit is contained in:
parent
c8b6edd390
commit
c651363b73
12 changed files with 174 additions and 135 deletions
|
@ -22,17 +22,19 @@
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package techreborn.blocks.generator;
|
package techreborn.blocks.generator.solarpanel;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import java.util.List;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.properties.PropertyBool;
|
import net.minecraft.block.properties.IProperty;
|
||||||
|
import net.minecraft.block.properties.PropertyEnum;
|
||||||
import net.minecraft.block.state.BlockStateContainer;
|
import net.minecraft.block.state.BlockStateContainer;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.NonNullList;
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import prospector.shootingstar.ShootingStar;
|
import prospector.shootingstar.ShootingStar;
|
||||||
import prospector.shootingstar.model.ModelCompound;
|
import prospector.shootingstar.model.ModelCompound;
|
||||||
|
@ -45,30 +47,36 @@ import techreborn.tiles.generator.TileSolarPanel;
|
||||||
* Created by modmuss50 on 25/02/2016.
|
* Created by modmuss50 on 25/02/2016.
|
||||||
*/
|
*/
|
||||||
public class BlockSolarPanel extends BaseTileBlock {
|
public class BlockSolarPanel extends BaseTileBlock {
|
||||||
|
public static final String[] panes = new String[] {
|
||||||
public static PropertyBool ACTIVE = PropertyBool.create("active");
|
"basic", "hybrid", "advanced", "ultimate", "quantum"};
|
||||||
|
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumPanelType.class);
|
||||||
|
|
||||||
public BlockSolarPanel() {
|
public BlockSolarPanel() {
|
||||||
super(Material.IRON);
|
super(Material.IRON);
|
||||||
setCreativeTab(TechRebornCreativeTab.instance);
|
setCreativeTab(TechRebornCreativeTab.instance);
|
||||||
this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false));
|
this.setDefaultState(this.getBlockState().getBaseState().withProperty(TYPE, EnumPanelType.Basic));
|
||||||
setHardness(2.0F);
|
setHardness(2.0F);
|
||||||
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/generators"));
|
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/generators"));
|
||||||
|
this.setDefaultState(this.getStateFromMeta(0));
|
||||||
|
for (int i = 0; i < panes.length; i++) {
|
||||||
|
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, i).setInvVariant("type=" + panes[i]).setFileName("ores"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BlockStateContainer createBlockState() {
|
protected BlockStateContainer createBlockState() {
|
||||||
ACTIVE = PropertyBool.create("active");
|
return new BlockStateContainer(this, new IProperty[]{TYPE});
|
||||||
return new BlockStateContainer(this, ACTIVE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IBlockState getStateFromMeta(int meta) {
|
public IBlockState getStateFromMeta(int meta) {
|
||||||
return getDefaultState().withProperty(ACTIVE, meta != 0);
|
return getDefaultState().withProperty(TYPE, EnumPanelType.values()[meta]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetaFromState(IBlockState state) {
|
public int getMetaFromState(IBlockState state) {
|
||||||
return state.getValue(ACTIVE) ? 1 : 0;
|
EnumPanelType type = (EnumPanelType) state.getValue(TYPE);
|
||||||
|
|
||||||
|
return type.getID();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -77,31 +85,9 @@ public class BlockSolarPanel extends BaseTileBlock {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block neighborBlock, BlockPos p_189540_5_) {
|
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list) {
|
||||||
if (worldIn.canBlockSeeSky(pos.up()) && !worldIn.isRaining() && !worldIn.isThundering()
|
for (EnumPanelType panelType : EnumPanelType.values()) {
|
||||||
&& worldIn.isDaytime()) {
|
list.add(new ItemStack(this, 1, panelType.ordinal()));
|
||||||
worldIn.setBlockState(pos,
|
|
||||||
worldIn.getBlockState(pos).withProperty(BlockSolarPanel.ACTIVE, true));
|
|
||||||
} else {
|
|
||||||
|
|
||||||
worldIn.setBlockState(pos,
|
|
||||||
worldIn.getBlockState(pos).withProperty(BlockSolarPanel.ACTIVE, false));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY,
|
|
||||||
float hitZ, int meta, EntityLivingBase placer) {
|
|
||||||
if (!worldIn.isRemote) {
|
|
||||||
if (worldIn.canBlockSeeSky(pos.up()) && !worldIn.isRaining() && !worldIn.isThundering() && worldIn.isDaytime()) {
|
|
||||||
return this.getDefaultState().withProperty(ACTIVE, true);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
return this.getDefaultState().withProperty(ACTIVE, false);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return this.getDefaultState().withProperty(ACTIVE, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package techreborn.blocks.generator.solarpanel;
|
||||||
|
|
||||||
|
import net.minecraft.util.IStringSerializable;
|
||||||
|
import reborncore.api.power.EnumPowerTier;
|
||||||
|
|
||||||
|
public enum EnumPanelType implements IStringSerializable {
|
||||||
|
Basic("basic", 128, EnumPowerTier.LOW, 0),
|
||||||
|
Hybrid("hybrid", 32, EnumPowerTier.MEDIUM, 1),
|
||||||
|
Advanced("advanced", 512, EnumPowerTier.MEDIUM, 2),
|
||||||
|
Ultimate("ultimate", 2048, EnumPowerTier.HIGH, 3),
|
||||||
|
Quantum("quantum", 2048, EnumPowerTier.EXTREME, 4);
|
||||||
|
|
||||||
|
private int ID;
|
||||||
|
public int generationRate = 128;
|
||||||
|
private String friendlyName;
|
||||||
|
|
||||||
|
EnumPanelType(String friendlyName, int generationRate, EnumPowerTier tier, int ID) {
|
||||||
|
this.friendlyName = friendlyName;
|
||||||
|
this.generationRate = generationRate;
|
||||||
|
this.ID = ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return friendlyName.toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getID(){
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
}
|
|
@ -40,6 +40,7 @@ import techreborn.blocks.*;
|
||||||
import techreborn.blocks.advanced_machine.*;
|
import techreborn.blocks.advanced_machine.*;
|
||||||
import techreborn.blocks.cable.BlockCable;
|
import techreborn.blocks.cable.BlockCable;
|
||||||
import techreborn.blocks.generator.*;
|
import techreborn.blocks.generator.*;
|
||||||
|
import techreborn.blocks.generator.solarpanel.BlockSolarPanel;
|
||||||
import techreborn.blocks.iron_machines.BlockIronAlloyFurnace;
|
import techreborn.blocks.iron_machines.BlockIronAlloyFurnace;
|
||||||
import techreborn.blocks.iron_machines.BlockIronFurnace;
|
import techreborn.blocks.iron_machines.BlockIronFurnace;
|
||||||
import techreborn.blocks.machine.*;
|
import techreborn.blocks.machine.*;
|
||||||
|
@ -328,7 +329,7 @@ public class ModBlocks {
|
||||||
GameRegistry.registerTileEntity(TileElectricFurnace.class, "TileElectricFurnaceTR");
|
GameRegistry.registerTileEntity(TileElectricFurnace.class, "TileElectricFurnaceTR");
|
||||||
|
|
||||||
SOLAR_PANEL = new BlockSolarPanel();
|
SOLAR_PANEL = new BlockSolarPanel();
|
||||||
registerBlock(SOLAR_PANEL, "solar_panel");
|
registerBlock(SOLAR_PANEL, ItemBlockSolarPanel.class, "solar_panel");
|
||||||
GameRegistry.registerTileEntity(TileSolarPanel.class, "TileSolarPanelTR");
|
GameRegistry.registerTileEntity(TileSolarPanel.class, "TileSolarPanelTR");
|
||||||
|
|
||||||
CREATIVE_SOLAR_PANEL = new BlockCreativeSolarPanel();
|
CREATIVE_SOLAR_PANEL = new BlockCreativeSolarPanel();
|
||||||
|
|
18
src/main/java/techreborn/itemblocks/ItemBlockSolarPanel.java
Normal file
18
src/main/java/techreborn/itemblocks/ItemBlockSolarPanel.java
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
package techreborn.itemblocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.ItemBlock;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import techreborn.blocks.generator.solarpanel.EnumPanelType;
|
||||||
|
|
||||||
|
public class ItemBlockSolarPanel extends ItemBlock {
|
||||||
|
|
||||||
|
public ItemBlockSolarPanel(Block block) {
|
||||||
|
super(block);
|
||||||
|
setHasSubtypes(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUnlocalizedName(ItemStack stack) {
|
||||||
|
return super.getUnlocalizedName() + "." + EnumPanelType.values()[stack.getItemDamage()].getName();
|
||||||
|
}
|
||||||
|
}
|
|
@ -39,10 +39,8 @@ import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import net.minecraftforge.items.CapabilityItemHandler;
|
import net.minecraftforge.items.CapabilityItemHandler;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import reborncore.api.recipe.IRecipeCrafterProvider;
|
|
||||||
import reborncore.api.tile.IUpgrade;
|
import reborncore.api.tile.IUpgrade;
|
||||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||||
import reborncore.common.recipes.IUpgradeHandler;
|
|
||||||
import reborncore.common.recipes.RecipeCrafter;
|
import reborncore.common.recipes.RecipeCrafter;
|
||||||
import reborncore.common.tile.IMachineSlotProvider;
|
import reborncore.common.tile.IMachineSlotProvider;
|
||||||
import reborncore.common.tile.TileLegacyMachineBase;
|
import reborncore.common.tile.TileLegacyMachineBase;
|
||||||
|
@ -123,20 +121,21 @@ public class ItemUpgrades extends ItemTR implements IUpgrade {
|
||||||
@Nonnull
|
@Nonnull
|
||||||
TileLegacyMachineBase machineBase,
|
TileLegacyMachineBase machineBase,
|
||||||
@Nullable
|
@Nullable
|
||||||
IUpgradeHandler handler,
|
RecipeCrafter crafter,
|
||||||
@Nonnull
|
@Nonnull
|
||||||
ItemStack stack) {
|
ItemStack stack) {
|
||||||
|
|
||||||
if (stack.getItemDamage() == 0) {
|
if (stack.getItemDamage() == 0) {
|
||||||
handler.addSpeedMulti(0.25);
|
if (crafter != null) {
|
||||||
handler.addPowerMulti(0.5);
|
crafter.addSpeedMulti(0.25);
|
||||||
|
crafter.addPowerMulti(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
} else if (stack.getItemDamage() == 4) {
|
} else if (stack.getItemDamage() == 4) {
|
||||||
EnumFacing dir = getFacing(stack);
|
EnumFacing dir = getFacing(stack);
|
||||||
TileEntity tileEntity = machineBase.getWorld().getTileEntity(machineBase.getPos().offset(dir));
|
TileEntity tileEntity = machineBase.getWorld().getTileEntity(machineBase.getPos().offset(dir));
|
||||||
if (tileEntity instanceof IInventory) {
|
if (tileEntity instanceof IInventory) {
|
||||||
if (machineBase instanceof IRecipeCrafterProvider) {
|
if (crafter != null) {
|
||||||
RecipeCrafter crafter = ((IRecipeCrafterProvider) machineBase).getRecipeCrafter();
|
|
||||||
for (Integer outSlot : crafter.outputSlots) {
|
for (Integer outSlot : crafter.outputSlots) {
|
||||||
ItemStack outputStack = crafter.inventory.getStackInSlot(outSlot);
|
ItemStack outputStack = crafter.inventory.getStackInSlot(outSlot);
|
||||||
if (!outputStack.isEmpty()) {
|
if (!outputStack.isEmpty()) {
|
||||||
|
@ -182,6 +181,8 @@ public class ItemUpgrades extends ItemTR implements IUpgrade {
|
||||||
if (tileEntity != null && tileEntity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite())) {
|
if (tileEntity != null && tileEntity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite())) {
|
||||||
IItemHandler itemHandler = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite());
|
IItemHandler itemHandler = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite());
|
||||||
for (int i = 0; i < itemHandler.getSlots(); i++) {
|
for (int i = 0; i < itemHandler.getSlots(); i++) {
|
||||||
|
ItemStack stack1 = itemHandler.getStackInSlot(i);
|
||||||
|
if (crafter == null || crafter.isStackValidInput(stack1)) {
|
||||||
ItemStack extractedStack = itemHandler.extractItem(i, 1, true);
|
ItemStack extractedStack = itemHandler.extractItem(i, 1, true);
|
||||||
int amount = InventoryHelper.testInventoryInsertion(machineBase, extractedStack, null);
|
int amount = InventoryHelper.testInventoryInsertion(machineBase, extractedStack, null);
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
|
@ -189,7 +190,7 @@ public class ItemUpgrades extends ItemTR implements IUpgrade {
|
||||||
extractedStack.setCount(1);
|
extractedStack.setCount(1);
|
||||||
InventoryHelper.insertItemIntoInventory(machineBase, extractedStack);
|
InventoryHelper.insertItemIntoInventory(machineBase, extractedStack);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,8 @@ public class PacketSetRecipe implements INetworkPacket<PacketSetRecipe> {
|
||||||
} else {
|
} else {
|
||||||
this.recipe = recipe.getRegistryName();
|
this.recipe = recipe.getRegistryName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.println(this.recipe);
|
||||||
this.custom = custom;
|
this.custom = custom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,6 +76,7 @@ public class PacketSetRecipe implements INetworkPacket<PacketSetRecipe> {
|
||||||
@Override
|
@Override
|
||||||
public void processData(PacketSetRecipe message, MessageContext context) {
|
public void processData(PacketSetRecipe message, MessageContext context) {
|
||||||
TileEntity tileEntity = context.getServerHandler().player.world.getTileEntity(message.pos);
|
TileEntity tileEntity = context.getServerHandler().player.world.getTileEntity(message.pos);
|
||||||
|
;
|
||||||
if (tileEntity instanceof TileAutoCraftingTable) {
|
if (tileEntity instanceof TileAutoCraftingTable) {
|
||||||
((TileAutoCraftingTable) tileEntity).setCurrentRecipe(message.recipe, message.custom);
|
((TileAutoCraftingTable) tileEntity).setCurrentRecipe(message.recipe, message.custom);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
|
|
||||||
ResourceLocation currentRecipe;
|
ResourceLocation currentRecipe;
|
||||||
|
|
||||||
public Inventory inventory = new Inventory(11, "TileAutoCraftingTable", 64, this);
|
public Inventory inventory = new Inventory(10, "TileAutoCraftingTable", 64, this);
|
||||||
public int progress;
|
public int progress;
|
||||||
public int maxProgress = 120;
|
public int maxProgress = 120;
|
||||||
public int euTick = 10;
|
public int euTick = 10;
|
||||||
|
@ -172,16 +172,8 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
for (int i = 0; i < 9; i++) {
|
for (int i = 0; i < 9; i++) {
|
||||||
ItemStack stack = inventory.getStackInSlot(i);
|
ItemStack stack = inventory.getStackInSlot(i);
|
||||||
int requiredSize = customRecipe ? 1 : 0;
|
int requiredSize = customRecipe ? 1 : 0;
|
||||||
if(stack.getMaxStackSize() == 1){
|
|
||||||
requiredSize = 0;
|
|
||||||
}
|
|
||||||
if (stacksInSlots[i] > requiredSize) {
|
if (stacksInSlots[i] > requiredSize) {
|
||||||
if (ingredient.apply(stack)) {
|
if (ingredient.apply(stack)) {
|
||||||
if(stack.getItem().getContainerItem() != null){
|
|
||||||
if(!hasRoomForExtraItem(stack.getItem().getContainerItem(stack))){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
foundIngredient = true;
|
foundIngredient = true;
|
||||||
stacksInSlots[i]--;
|
stacksInSlots[i]--;
|
||||||
break;
|
break;
|
||||||
|
@ -194,7 +186,7 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!missingOutput) {
|
if (!missingOutput) {
|
||||||
if (hasOutputSpace(recipe.getRecipeOutput(), 9)) {
|
if (hasOutputSpace(recipe.getRecipeOutput())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -203,17 +195,8 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean hasRoomForExtraItem(ItemStack stack){
|
public boolean hasOutputSpace(ItemStack output) {
|
||||||
ItemStack extraOutputSlot = getStackInSlot(10);
|
ItemStack stack = inventory.getStackInSlot(9);
|
||||||
if(extraOutputSlot.isEmpty()){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return hasOutputSpace(stack, 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public boolean hasOutputSpace(ItemStack output, int slot) {
|
|
||||||
ItemStack stack = inventory.getStackInSlot(slot);
|
|
||||||
if (stack.isEmpty()) {
|
if (stack.isEmpty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -238,14 +221,13 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
//Looks for the best slot to take it from
|
//Looks for the best slot to take it from
|
||||||
ItemStack bestSlot = inventory.getStackInSlot(i);
|
ItemStack bestSlot = inventory.getStackInSlot(i);
|
||||||
if (ingredient.apply(bestSlot)) {
|
if (ingredient.apply(bestSlot)) {
|
||||||
handleContainerItem(bestSlot);
|
|
||||||
bestSlot.shrink(1);
|
bestSlot.shrink(1);
|
||||||
} else {
|
} else {
|
||||||
for (int j = 0; j < 9; j++) {
|
for (int j = 0; j < 9; j++) {
|
||||||
ItemStack stack = inventory.getStackInSlot(j);
|
ItemStack stack = inventory.getStackInSlot(j);
|
||||||
if (ingredient.apply(stack)) {
|
if (ingredient.apply(stack)) {
|
||||||
handleContainerItem(stack);
|
|
||||||
stack.shrink(1); //TODO is this right? or do I need to use it as an actull crafting grid
|
stack.shrink(1); //TODO is this right? or do I need to use it as an actull crafting grid
|
||||||
|
//TOOD check items to be retuned
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -265,21 +247,6 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleContainerItem(ItemStack stack){
|
|
||||||
if(stack.getItem().hasContainerItem(stack)){
|
|
||||||
ItemStack containerItem = stack.getItem().getContainerItem(stack);
|
|
||||||
ItemStack extraOutputSlot = getStackInSlot(10);
|
|
||||||
if(hasOutputSpace(containerItem, 10)){
|
|
||||||
if(extraOutputSlot.isEmpty()){
|
|
||||||
setInventorySlotContents(10, containerItem.copy());
|
|
||||||
} else if(ItemUtils.isItemEqual(extraOutputSlot, containerItem, true, true) && extraOutputSlot.getMaxStackSize() < extraOutputSlot.getCount() + containerItem.getCount()) {
|
|
||||||
extraOutputSlot.grow(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public boolean hasIngredient(Ingredient ingredient) {
|
public boolean hasIngredient(Ingredient ingredient) {
|
||||||
for (int i = 0; i < 9; i++) {
|
for (int i = 0; i < 9; i++) {
|
||||||
ItemStack stack = inventory.getStackInSlot(i);
|
ItemStack stack = inventory.getStackInSlot(i);
|
||||||
|
@ -326,7 +293,7 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
.slot(0, 28, 25).slot(1, 46, 25).slot(2, 64, 25)
|
.slot(0, 28, 25).slot(1, 46, 25).slot(2, 64, 25)
|
||||||
.slot(3, 28, 43).slot(4, 46, 43).slot(5, 64, 43)
|
.slot(3, 28, 43).slot(4, 46, 43).slot(5, 64, 43)
|
||||||
.slot(6, 28, 61).slot(7, 46, 61).slot(8, 64, 61)
|
.slot(6, 28, 61).slot(7, 46, 61).slot(8, 64, 61)
|
||||||
.outputSlot(9, 145, 42).outputSlot(10, 145, 70).syncEnergyValue()
|
.outputSlot(9, 145, 42).syncEnergyValue()
|
||||||
.syncIntegerValue(this::getProgress, this::setProgress)
|
.syncIntegerValue(this::getProgress, this::setProgress)
|
||||||
.syncIntegerValue(this::getMaxProgress, this::setMaxProgress)
|
.syncIntegerValue(this::getMaxProgress, this::setMaxProgress)
|
||||||
.addInventory().create(this);
|
.addInventory().create(this);
|
||||||
|
@ -450,11 +417,11 @@ public class TileAutoCraftingTable extends TilePowerAcceptor implements IContain
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int[] getSlotsForFace(EnumFacing side) {
|
public int[] getSlotsForFace(EnumFacing side) {
|
||||||
return new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
|
return new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canExtractItem(int index, ItemStack stack, EnumFacing direction) {
|
public boolean canExtractItem(int index, ItemStack stack, EnumFacing direction) {
|
||||||
return index == 9 || index == 10;
|
return index == 9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ import reborncore.api.IToolDrop;
|
||||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||||
import reborncore.common.registration.RebornRegistry;
|
import reborncore.common.registration.RebornRegistry;
|
||||||
import reborncore.common.registration.impl.ConfigRegistry;
|
import reborncore.common.registration.impl.ConfigRegistry;
|
||||||
import techreborn.blocks.generator.BlockSolarPanel;
|
import techreborn.blocks.generator.solarpanel.BlockSolarPanel;
|
||||||
import techreborn.init.ModBlocks;
|
import techreborn.init.ModBlocks;
|
||||||
import techreborn.lib.ModInfo;
|
import techreborn.lib.ModInfo;
|
||||||
|
|
||||||
|
@ -75,8 +75,6 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
|
||||||
this.powerToAdd = 0;
|
this.powerToAdd = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.world.setBlockState(this.getPos(),
|
|
||||||
this.world.getBlockState(this.getPos()).withProperty(BlockSolarPanel.ACTIVE, this.isSunOut()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,8 @@ import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import reborncore.api.IToolDrop;
|
|
||||||
import reborncore.api.tile.IInventoryProvider;
|
import reborncore.api.tile.IInventoryProvider;
|
||||||
|
import reborncore.api.IToolDrop;
|
||||||
import reborncore.common.blocks.BlockMachineBase;
|
import reborncore.common.blocks.BlockMachineBase;
|
||||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||||
import reborncore.common.tile.IMachineSlotProvider;
|
import reborncore.common.tile.IMachineSlotProvider;
|
||||||
|
@ -74,9 +74,9 @@ public class TileElectricFurnace extends TilePowerAcceptor
|
||||||
|
|
||||||
this.progress++;
|
this.progress++;
|
||||||
if (this.progress % 10 == 0) {
|
if (this.progress % 10 == 0) {
|
||||||
this.useEnergy(getEuPerTick(this.cost));
|
this.useEnergy(this.cost);
|
||||||
}
|
}
|
||||||
if (this.progress >= Math.max((int) (fuelScale * (1.0 - getSpeedMultiplier())), 1)) {
|
if (this.progress >= this.fuelScale) {
|
||||||
this.progress = 0;
|
this.progress = 0;
|
||||||
this.cookItems();
|
this.cookItems();
|
||||||
updateInventory = true;
|
updateInventory = true;
|
||||||
|
@ -127,7 +127,7 @@ public class TileElectricFurnace extends TilePowerAcceptor
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBurning() {
|
public boolean isBurning() {
|
||||||
return this.getEnergy() > getEuPerTick(this.cost);
|
return this.getEnergy() > this.cost;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getResultFor(final ItemStack stack) {
|
public ItemStack getResultFor(final ItemStack stack) {
|
||||||
|
@ -245,6 +245,6 @@ public class TileElectricFurnace extends TilePowerAcceptor
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canBeUpgraded() {
|
public boolean canBeUpgraded() {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
{
|
{
|
||||||
"forge_marker": 1,
|
"forge_marker": 1,
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
"textures": {},
|
||||||
"transform": "forge:default-block",
|
"transform": "forge:default-block",
|
||||||
"model": "cube_bottom_top",
|
"model": "cube_bottom_top"
|
||||||
"textures": {
|
|
||||||
"particle": "techreborn:blocks/machines/generators/solar_panel_side_off",
|
|
||||||
"top": "techreborn:blocks/machines/generators/solar_panel_top",
|
|
||||||
"down": "techreborn:blocks/machines/generators/generator_bottom"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"inventory": {
|
"inventory": {
|
||||||
|
@ -17,18 +13,48 @@
|
||||||
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": {
|
"type": {
|
||||||
"true": {
|
"basic": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"side": "techreborn:blocks/machines/generators/solar_panel_side_on"
|
"particle": "techreborn:blocks/machines/generators/solar_panel_side_off",
|
||||||
|
"top": "techreborn:blocks/machines/generators/solar_panel_top",
|
||||||
|
"down": "techreborn:blocks/machines/generators/generator_bottom",
|
||||||
|
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"false": {
|
"hybrid": {
|
||||||
"textures": {
|
"textures": {
|
||||||
|
"particle": "techreborn:blocks/machines/generators/solar_panel_side_off",
|
||||||
|
"top": "techreborn:blocks/machines/generators/solar_panel_top",
|
||||||
|
"down": "techreborn:blocks/machines/generators/generator_bottom",
|
||||||
|
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"advanced": {
|
||||||
|
"textures": {
|
||||||
|
"particle": "techreborn:blocks/machines/generators/solar_panel_side_off",
|
||||||
|
"top": "techreborn:blocks/machines/generators/solar_panel_top",
|
||||||
|
"down": "techreborn:blocks/machines/generators/generator_bottom",
|
||||||
|
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ultimate": {
|
||||||
|
"textures": {
|
||||||
|
"particle": "techreborn:blocks/machines/generators/solar_panel_side_off",
|
||||||
|
"top": "techreborn:blocks/machines/generators/solar_panel_top",
|
||||||
|
"down": "techreborn:blocks/machines/generators/generator_bottom",
|
||||||
|
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"quantum": {
|
||||||
|
"textures": {
|
||||||
|
"particle": "techreborn:blocks/machines/generators/solar_panel_side_off",
|
||||||
|
"top": "techreborn:blocks/machines/generators/solar_panel_top",
|
||||||
|
"down": "techreborn:blocks/machines/generators/generator_bottom",
|
||||||
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
"side": "techreborn:blocks/machines/generators/solar_panel_side_off"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
|
@ -59,7 +59,12 @@ tile.techreborn:machine_frame.advanced.name=Advanced Machine Frame
|
||||||
tile.techreborn:machine_frame.basic.name=Basic Machine Frame
|
tile.techreborn:machine_frame.basic.name=Basic Machine Frame
|
||||||
tile.techreborn:ore2.copper.name=Copper Ore
|
tile.techreborn:ore2.copper.name=Copper Ore
|
||||||
tile.techreborn:ore2.tin.name=Tin Ore
|
tile.techreborn:ore2.tin.name=Tin Ore
|
||||||
tile.techreborn:solar_panel.name=Solar Panel
|
tile.techreborn:solar_panel.basic.name=Basic Solar Panel
|
||||||
|
tile.techreborn:solar_panel.hybrid.name=Hybrid Solar Panel
|
||||||
|
tile.techreborn:solar_panel.advanced.name=Advanced Solar Panel
|
||||||
|
tile.techreborn:solar_panel.ultimate.name=Ultimate Solar Panel
|
||||||
|
tile.techreborn:solar_panel.quantum.name=Quantum Solar Panel
|
||||||
|
|
||||||
tile.techreborn:creative_solar_panel.name=Creative Panel
|
tile.techreborn:creative_solar_panel.name=Creative Panel
|
||||||
tile.techreborn:water_mill.name=Water Mill
|
tile.techreborn:water_mill.name=Water Mill
|
||||||
tile.techreborn:wind_mill.name=Wind Mill
|
tile.techreborn:wind_mill.name=Wind Mill
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 674 B |
Loading…
Add table
Reference in a new issue