Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Pheonix 2022-03-11 18:30:14 +00:00
commit 0759ac8f68
21 changed files with 261 additions and 25 deletions

View File

@ -6,7 +6,6 @@ import com.hbm.tileentity.machine.TileEntityMachineChemfac;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;

View File

@ -0,0 +1,58 @@
package com.hbm.handler.guncfg;
import java.util.ArrayList;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.GunConfiguration;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
public class GunDetonatorFactory {
public static GunConfiguration getDetonatorConfig() {
GunConfiguration config = new GunConfiguration();
config.rateOfFire = 1;
config.roundsPerCycle = 1;
config.gunMode = GunConfiguration.MODE_NORMAL;
config.firingMode = GunConfiguration.FIRE_AUTO;
config.hasSights = false;
config.reloadDuration = 20;
config.firingDuration = 0;
config.ammoCap = 1;
config.reloadType = GunConfiguration.RELOAD_FULL;
config.allowsInfinity = true;
config.crosshair = Crosshair.DUAL;
config.durability = 1_000_000_000;
config.reloadSound = GunConfiguration.RSOUND_LAUNCHER;
config.firingSound = "hbm:weapon.dartShoot";
config.reloadSoundEnd = false;
config.showAmmo = true;
config.name = "Hopeville Laser Detonator";
config.manufacturer = "WestTek";
config.config = new ArrayList();
config.config.add(BulletConfigSyncingUtil.R5_NORMAL_BOLT);
config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT);
config.config.add(BulletConfigSyncingUtil.R5_DU_BOLT);
config.config.add(BulletConfigSyncingUtil.R5_STAR_BOLT);
config.config.add(BulletConfigSyncingUtil.CHL_R5_BOLT);
config.config.add(BulletConfigSyncingUtil.G12_NORMAL);
config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY);
config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL);
config.config.add(BulletConfigSyncingUtil.G12_DU);
config.config.add(BulletConfigSyncingUtil.G12_SLEEK);
config.config.add(BulletConfigSyncingUtil.G12_AM);
config.config.add(BulletConfigSyncingUtil.NUKE_NORMAL);
config.config.add(BulletConfigSyncingUtil.NUKE_LOW);
config.config.add(BulletConfigSyncingUtil.NUKE_SAFE);
config.config.add(BulletConfigSyncingUtil.NUKE_HIGH);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_LOW);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_SAFE);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_HIGH);
return config;
}
}

View File

@ -17,4 +17,8 @@ public interface IFluidAcceptor extends IFluidContainer {
public default int getMaxFluidFillForReceive(FluidType type) {
return this.getMaxFluidFill(type);
}
public default void receiveFluid(int amount, FluidType type) {
this.setFluidFill(this.getFluidFill(type) + amount, type);
}
}

View File

@ -1,5 +1,6 @@
package com.hbm.inventory.gui;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerChemfac;
@ -27,18 +28,54 @@ public class GUIChemfac extends GuiInfoContainer {
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 234, guiTop + 25, 16, 52, chemfac.power, chemfac.getMaxPower());
for(int i = 0; i < 8; i ++) {
int offX = guiLeft + 110 * (i % 2);
int offY = guiTop + 38 * (i / 2);
chemfac.tanks[i * 4 + 0].renderTankInfo(this, mouseX, mouseY, offX + 40, offY + 45 - 32, 5, 34);
chemfac.tanks[i * 4 + 1].renderTankInfo(this, mouseX, mouseY, offX + 45, offY + 45 - 32, 5, 34);
chemfac.tanks[i * 4 + 2].renderTankInfo(this, mouseX, mouseY, offX + 102, offY + 45 - 32, 5, 34);
chemfac.tanks[i * 4 + 3].renderTankInfo(this, mouseX, mouseY, offX + 107, offY + 45 - 32, 5, 34);
}
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) { }
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
protected void drawGuiContainerBackgroundLayer(float interp, int mX, int mY) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, 211);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, 167);
drawTexturedModalRect(guiLeft + 26, guiTop + 167, 26, 167, 230, 44);
drawTexturedModalRect(guiLeft + 26, guiTop + 211, 26, 211, 176, 45);
int p = (int) (chemfac.power * 52 / chemfac.getMaxPower());
drawTexturedModalRect(guiLeft + 234, guiTop + 77 - p, 0, 219 - p, 16, p);
if(chemfac.power > 0)
drawTexturedModalRect(guiLeft + 238, guiTop + 11, 0, 219, 9, 12);
for(int i = 0; i < 8; i ++) {
int offX = guiLeft + 110 * (i % 2);
int offY = guiTop + 38 * (i / 2);
int prog = chemfac.progress[i];
int j = prog * 17 / Math.max(chemfac.maxProgress[i], 1);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(offX + 51, offY + 16, 202, 247, j, 11);
chemfac.tanks[i * 4 + 0].renderTank(offX + 41, offY + 46, this.zLevel, 3, 32);
chemfac.tanks[i * 4 + 1].renderTank(offX + 46, offY + 46, this.zLevel, 3, 32);
chemfac.tanks[i * 4 + 2].renderTank(offX + 103, offY + 46, this.zLevel, 3, 32);
chemfac.tanks[i * 4 + 3].renderTank(offX + 108, offY + 46, this.zLevel, 3, 32);
}
if(Keyboard.isKeyDown(Keyboard.KEY_LMENU))
for(int i = 0; i < this.inventorySlots.inventorySlots.size(); i++) {
Slot s = this.inventorySlots.getSlot(i);

View File

@ -1691,6 +1691,7 @@ public class ModItems {
public static Item gun_dampfmaschine;
public static Item gun_waluigi;
public static Item gun_darter;
public static Item gun_detonator;
public static Item crucible;
@ -4358,6 +4359,7 @@ public class ModItems {
gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget");
gun_dampfmaschine = new GunDampfmaschine().setUnlocalizedName("gun_dampfmaschine").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dampfmaschine");
gun_darter = new ItemGunDart(GunDartFactory.getDarterConfig()).setFull3D().setUnlocalizedName("gun_darter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
gun_detonator = new ItemGunDetonator(GunDetonatorFactory.getDetonatorConfig()).setUnlocalizedName("gun_detonator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0);
crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible");
@ -7075,6 +7077,7 @@ public class ModItems {
GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.getUnlocalizedName());
GameRegistry.registerItem(gun_dampfmaschine, gun_dampfmaschine.getUnlocalizedName());
GameRegistry.registerItem(gun_darter, gun_darter.getUnlocalizedName());
GameRegistry.registerItem(gun_detonator, gun_detonator.getUnlocalizedName());
GameRegistry.registerItem(crucible, crucible.getUnlocalizedName());
//Ammo

View File

@ -7,12 +7,10 @@ import org.lwjgl.input.Mouse;
import com.hbm.config.GeneralConfig;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.extprop.HbmPlayerProps;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration;
import com.hbm.handler.HbmKeybinds;
import com.hbm.handler.HbmKeybinds.EnumKeybind;
import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.interfaces.IItemHUD;
import com.hbm.packet.AuxParticlePacketNT;
@ -36,7 +34,6 @@ import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
@ -110,7 +107,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
if(mainConfig.reloadType != mainConfig.RELOAD_NONE || (altConfig != null && altConfig.reloadType != 0)) {
if(Keyboard.isKeyDown(HbmKeybinds.reloadKey.getKeyCode()) && (getMag(stack) < mainConfig.ammoCap || (mainConfig.allowsInfinity && EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0))) {
if(Keyboard.isKeyDown(HbmKeybinds.reloadKey.getKeyCode()) && (getMag(stack) < mainConfig.ammoCap || hasInfinity(stack, mainConfig))) {
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 2));
setIsReloading(stack, true);
resetReloadCycle(stack);
@ -449,7 +446,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
//initiates a reload
public void startReloadAction(ItemStack stack, World world, EntityPlayer player) {
if(player.isSneaking() && mainConfig.allowsInfinity && EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0) {
if(player.isSneaking() && hasInfinity(stack, mainConfig)) {
if(this.getMag(stack) == mainConfig.ammoCap) {
this.setMag(stack, 0);
@ -623,7 +620,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
if(!main)
config = altConfig;
if(config.allowsInfinity && EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0)
if(hasInfinity(stack, config))
return;
@ -634,6 +631,10 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
}
}
public boolean hasInfinity(ItemStack stack, GunConfiguration config) {
return config.allowsInfinity && EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
}
/*//returns main config from itemstack
public static GunConfiguration extractConfig(ItemStack stack) {

View File

@ -0,0 +1,17 @@
package com.hbm.items.weapon;
import com.hbm.handler.GunConfiguration;
import net.minecraft.item.ItemStack;
public class ItemGunDetonator extends ItemGunBase {
public ItemGunDetonator(GunConfiguration config) {
super(config);
}
@Override
public boolean hasInfinity(ItemStack stack, GunConfiguration config) {
return true;
}
}

View File

@ -628,11 +628,13 @@ public class Library {
if(consume.getMaxFluidFillForReceive(type) - consume.getFluidFillForReceive(type) >= part) {
that.setFluidFill(that.getFluidFill(type) - part, type);
consume.setFluidFillForReceive(consume.getFluidFillForReceive(type) + part, type);
consume.receiveFluid(part, type);
//consume.setFluidFillForReceive(consume.getFluidFillForReceive(type) + part, type);
} else {
that.setFluidFill(that.getFluidFill(type) - (consume.getMaxFluidFillForReceive(type) - consume.getFluidFillForReceive(type)), type);
consume.setFluidFillForReceive(consume.getMaxFluidFillForReceive(type), type);
consume.receiveFluid(consume.getMaxFluidFillForReceive(type) - consume.getFluidFillForReceive(type), type);
//consume.setFluidFillForReceive(consume.getMaxFluidFillForReceive(type), type);
}
}
}

View File

@ -50,7 +50,6 @@ import com.hbm.entity.mob.botprime.*;
import com.hbm.entity.mob.siege.*;
import com.hbm.entity.particle.*;
import com.hbm.entity.projectile.*;
import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard;
import com.hbm.handler.HbmKeybinds;
import com.hbm.handler.HbmKeybinds.EnumKeybind;
import com.hbm.items.ModItems;
@ -421,6 +420,7 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_detonator, new ItemRenderDetonatorLaser());
MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderWeaponSpas12());
//multitool

View File

@ -470,6 +470,8 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.emp_bomb, 1), new Object[] { "LML", "LCL", "LML", 'L', PB.plate(), 'M', ModItems.magnetron, 'C', ModItems.circuit_gold });
addShapelessAuto(new ItemStack(ModBlocks.charge_dynamite, 1), new Object[] { ModItems.stick_dynamite, ModItems.stick_dynamite, ModItems.stick_dynamite, ModItems.ducttape });
addRecipeAuto(new ItemStack(ModBlocks.charge_miner, 1), new Object[] { " F ", "FCF", " F ", 'F', Items.flint, 'C', ModBlocks.charge_dynamite });
addShapelessAuto(new ItemStack(ModBlocks.charge_semtex, 1), new Object[] { ModItems.stick_semtex, ModItems.stick_semtex, ModItems.stick_semtex, ModItems.ducttape });
addShapelessAuto(new ItemStack(ModBlocks.charge_c4, 1), new Object[] { ModItems.stick_c4, ModItems.stick_c4, ModItems.stick_c4, ModItems.ducttape });
addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_generic), new Object[] { " A ", "PRP", "PRP", 'A', ModItems.wire_aluminium, 'P', AL.plate(), 'R', REDSTONE.dust() });
addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_advanced), new Object[] { " A ", "PSP", "PLP", 'A', ModItems.wire_red_copper, 'P', CU.plate(), 'S', "sulfur", 'L', PB.dust() });

View File

@ -3,14 +3,10 @@ package com.hbm.render.item;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
public class ItemRenderDetonatorLaser implements IItemRenderer {
@ -87,11 +83,13 @@ public class ItemRenderDetonatorLaser implements IItemRenderer {
}
ResourceManager.detonator_laser.renderPart("Main");
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor3f(1F, 0F, 0F);
ResourceManager.detonator_laser.renderPart("Lights");
GL11.glColor3f(1F, 1F, 1F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_FLAT);

View File

@ -2,12 +2,16 @@ package com.hbm.tileentity.machine;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.BlockDummyable;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.inventory.fluid.FluidType;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChunkCoordinates;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase {
@ -15,9 +19,56 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase {
super(77);
}
@Override
public void updateEntity() {
super.updateEntity();
if(!worldObj.isRemote) {
NBTTagCompound data = new NBTTagCompound();
data.setLong("power", this.power);
data.setIntArray("progress", this.progress);
data.setIntArray("maxProgress", this.maxProgress);
data.setBoolean("isProgressing", isProgressing);
for(int i = 0; i < tanks.length; i++) {
tanks[i].writeToNBT(data, "t" + i);
}
this.networkPack(data, 150);
} else {
if(this.worldObj.getTotalWorldTime() % 5 == 0) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
Random rand = worldObj.rand;
double x = xCoord + 0.5 - rot.offsetX * 0.5;
double y = yCoord + 3;
double z = zCoord + 0.5 - rot.offsetZ * 0.5;
worldObj.spawnParticle("cloud", x + dir.offsetX * 1.5 + rand.nextGaussian() * 0.15, y, z + dir.offsetZ * 1.5 + rand.nextGaussian() * 0.15, 0.0, 0.15, 0.0);
worldObj.spawnParticle("cloud", x - dir.offsetX * 0.5 + rand.nextGaussian() * 0.15, y, z - dir.offsetZ * 0.5 + rand.nextGaussian() * 0.15, 0.0, 0.15, 0.0);
}
}
}
@Override
public void networkUnpack(NBTTagCompound nbt) {
this.power = nbt.getLong("power");
this.progress = nbt.getIntArray("progress");
this.maxProgress = nbt.getIntArray("maxProgress");
this.isProgressing = nbt.getBoolean("isProgressing");
for(int i = 0; i < tanks.length; i++) {
tanks[i].readFromNBT(nbt, "t" + i);
}
}
@Override
public long getMaxPower() {
return 0;
return 10_000_000;
}
@Override

View File

@ -1,5 +1,8 @@
package com.hbm.tileentity.machine;
import java.util.ArrayList;
import java.util.List;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidSource;
import com.hbm.inventory.FluidTank;
@ -31,7 +34,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
public long power;
public int[] progress;
public int maxProgress = 100;
public int[] maxProgress;
public boolean isProgressing;
public FluidTank[] tanks;
@ -43,8 +46,9 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
super(scount);
int count = this.getRecipeCount();
progress = new int[count];
maxProgress = new int[count];
tanks = new FluidTank[4 * count];
for(int i = 0; i < 4 * count; i++) {
@ -131,12 +135,12 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
private boolean hasRequiredItems(ChemRecipe recipe, int index) {
int[] indices = getSlotIndicesFromIndex(index);
return InventoryUtil.doesArrayHaveIngredients(slots, indices[2], indices[3], recipe.inputs);
return InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], recipe.inputs);
}
private boolean hasSpaceForItems(ChemRecipe recipe, int index) {
int[] indices = getSlotIndicesFromIndex(index);
return InventoryUtil.doesArrayHaveSpace(slots, indices[0], indices[1], recipe.outputs);
return InventoryUtil.doesArrayHaveSpace(slots, indices[2], indices[3], recipe.outputs);
}
private void process(int index) {
@ -150,9 +154,9 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
int template = getTemplateIndex(index);
ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[template].getItemDamage());
this.maxProgress = recipe.getDuration() * this.speed / 100;
this.maxProgress[index] = recipe.getDuration() * this.speed / 100;
if(this.progress[index] >= this.maxProgress) {
if(this.progress[index] >= this.maxProgress[index]) {
consumeFluids(recipe, index);
produceFluids(recipe, index);
consumeItems(recipe, index);
@ -178,7 +182,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
for(AStack in : recipe.inputs) {
if(in != null)
InventoryUtil.tryConsumeAStack(slots, indices[2], indices[3], in);
InventoryUtil.tryConsumeAStack(slots, indices[0], indices[1], in);
}
}
@ -188,7 +192,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
for(ItemStack out : recipe.outputs) {
if(out != null)
InventoryUtil.tryAddItemToInventory(slots, indices[0], indices[1], out.copy());
InventoryUtil.tryAddItemToInventory(slots, indices[2], indices[3], out.copy());
}
}
private void loadItems(int index) {
@ -357,6 +361,62 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
return maxFill;
}
@Override
public int getFluidFillForReceive(FluidType type) {
int fill = 0;
for(FluidTank tank : tanks) {
if(tank.index % 4 < 2 && tank.getTankType() == type) {
fill += tank.getFill();
}
}
return fill;
}
@Override
public void receiveFluid(int amount, FluidType type) {
List<FluidTank> rec = new ArrayList();
for(FluidTank tank : tanks) {
if(tank.index % 4 < 2 && tank.getTankType() == type) {
rec.add(tank);
}
}
if(rec.size() == 0)
return;
int demand = 0;
for(FluidTank tank : rec) {
demand += tank.getMaxFill() - tank.getFill();
}
int part = demand / rec.size(); // dividing ints rounds down anyway
for(FluidTank tank : rec) {
tank.setFill(tank.getFill() + part);
demand -= part;
}
//getting rid of annoying rounding errors
if(demand > 0) {
while(demand > 0) {
FluidTank tank = rec.get(worldObj.rand.nextInt(rec.size()));
if(tank.getFill() < tank.getMaxFill()) {
//we do single mB steps because the distribution is more even this way and honestly the remainder can't possibly be that big
tank.setFill(tank.getFill() + 1);
demand--;
}
}
}
}
public abstract int getRecipeCount();
public abstract int getTankCapacity();
public abstract int getTemplateIndex(int index);

View File

@ -3015,8 +3015,10 @@ tile.broadcaster_pc.name=Korrupter Sender
tile.burning_earth.name=Brennendes Gras
tile.cable_detector.name=Redstone-Stromschalter
tile.cable_switch.name=Stromschalter
tile.charge_c4.name=Abrissladung
tile.charge_dynamite.name=Zeitbombe
tile.charge_miner.name=Bergbauladung mit Zeitzünder
tile.charge_semtex.name=Semtex-Bergbauladung
tile.cheater_virus.name=Geliertes Euphemium
tile.cheater_virus_seed.name=Instabiler Euphemiumschrabid-Block
tile.chlorine_gas.name=Chlorgas

View File

@ -3380,8 +3380,10 @@ tile.broadcaster_pc.name=Corrupted Broadcaster
tile.burning_earth.name=Burning Grass
tile.cable_detector.name=Redstone Power Switch
tile.cable_switch.name=Power Switch
tile.charge_c4.name=Demolition Charge
tile.charge_dynamite.name=Time Bomb
tile.charge_miner.name=Timed Mining Charge
tile.charge_semtex.name=Semtex Mining Charge
tile.cheater_virus.name=Gelid Euphemium
tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block
tile.chlorine_gas.name=Chlorine Gas

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB