mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
condenser and cooling tower block tooltip
This commit is contained in:
parent
2b914628b5
commit
041b684d26
@ -1,13 +1,20 @@
|
|||||||
package com.hbm.blocks.machine;
|
package com.hbm.blocks.machine;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.hbm.blocks.ILookOverlay;
|
||||||
import com.hbm.tileentity.machine.TileEntityCondenser;
|
import com.hbm.tileentity.machine.TileEntityCondenser;
|
||||||
|
import com.hbm.util.I18nUtil;
|
||||||
|
|
||||||
import net.minecraft.block.BlockContainer;
|
import net.minecraft.block.BlockContainer;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.EnumChatFormatting;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||||
|
|
||||||
public class MachineCondenser extends BlockContainer {
|
public class MachineCondenser extends BlockContainer implements ILookOverlay {
|
||||||
|
|
||||||
public MachineCondenser(Material mat) {
|
public MachineCondenser(Material mat) {
|
||||||
super(mat);
|
super(mat);
|
||||||
@ -17,4 +24,22 @@ public class MachineCondenser extends BlockContainer {
|
|||||||
public TileEntity createNewTileEntity(World world, int meta) {
|
public TileEntity createNewTileEntity(World world, int meta) {
|
||||||
return new TileEntityCondenser();
|
return new TileEntityCondenser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||||
|
|
||||||
|
TileEntity te = world.getTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if(!(te instanceof TileEntityCondenser))
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileEntityCondenser condenser = (TileEntityCondenser) te;
|
||||||
|
|
||||||
|
List<String> text = new ArrayList();
|
||||||
|
|
||||||
|
for(int i = 0; i < condenser.tanks.length; i++)
|
||||||
|
text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + condenser.tanks[i].getTankType().getName().toLowerCase()) + ": " + condenser.tanks[i].getFill() + "/" + condenser.tanks[i].getMaxFill() + "mB");
|
||||||
|
|
||||||
|
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,23 @@
|
|||||||
package com.hbm.blocks.machine;
|
package com.hbm.blocks.machine;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.hbm.blocks.BlockDummyable;
|
import com.hbm.blocks.BlockDummyable;
|
||||||
|
import com.hbm.blocks.ILookOverlay;
|
||||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||||
import com.hbm.tileentity.machine.TileEntityTowerLarge;
|
import com.hbm.tileentity.machine.TileEntityTowerLarge;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityTowerSmall;
|
||||||
|
import com.hbm.util.I18nUtil;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.EnumChatFormatting;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
public class MachineTowerLarge extends BlockDummyable {
|
public class MachineTowerLarge extends BlockDummyable implements ILookOverlay {
|
||||||
|
|
||||||
public MachineTowerLarge(Material mat) {
|
public MachineTowerLarge(Material mat) {
|
||||||
super(mat);
|
super(mat);
|
||||||
@ -52,4 +60,26 @@ public class MachineTowerLarge extends BlockDummyable {
|
|||||||
this.makeExtra(world, x + dr2.offsetX * 4 + rot.offsetX * -3, y, z + dr2.offsetZ * 4 + rot.offsetZ * -3);
|
this.makeExtra(world, x + dr2.offsetX * 4 + rot.offsetX * -3, y, z + dr2.offsetZ * 4 + rot.offsetZ * -3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||||
|
int[] pos = this.findCore(world, x, y, z);
|
||||||
|
|
||||||
|
if(pos == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||||
|
|
||||||
|
if(!(te instanceof TileEntityTowerSmall))
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileEntityTowerSmall tower = (TileEntityTowerSmall) te;
|
||||||
|
|
||||||
|
List<String> text = new ArrayList();
|
||||||
|
|
||||||
|
for(int i = 0; i < tower.tanks.length; i++)
|
||||||
|
text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase()) + ": " + tower.tanks[i].getFill() + "/" + tower.tanks[i].getMaxFill() + "mB");
|
||||||
|
|
||||||
|
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,22 @@
|
|||||||
package com.hbm.blocks.machine;
|
package com.hbm.blocks.machine;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.hbm.blocks.BlockDummyable;
|
import com.hbm.blocks.BlockDummyable;
|
||||||
|
import com.hbm.blocks.ILookOverlay;
|
||||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||||
import com.hbm.tileentity.machine.TileEntityTowerSmall;
|
import com.hbm.tileentity.machine.TileEntityTowerSmall;
|
||||||
|
import com.hbm.util.I18nUtil;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.EnumChatFormatting;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
public class MachineTowerSmall extends BlockDummyable {
|
public class MachineTowerSmall extends BlockDummyable implements ILookOverlay {
|
||||||
|
|
||||||
public MachineTowerSmall(Material mat) {
|
public MachineTowerSmall(Material mat) {
|
||||||
super(mat);
|
super(mat);
|
||||||
@ -49,4 +56,26 @@ public class MachineTowerSmall extends BlockDummyable {
|
|||||||
this.makeExtra(world, x + dr2.offsetX * 2, y, z + dr2.offsetZ * 2);
|
this.makeExtra(world, x + dr2.offsetX * 2, y, z + dr2.offsetZ * 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||||
|
int[] pos = this.findCore(world, x, y, z);
|
||||||
|
|
||||||
|
if(pos == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||||
|
|
||||||
|
if(!(te instanceof TileEntityTowerSmall))
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileEntityTowerSmall tower = (TileEntityTowerSmall) te;
|
||||||
|
|
||||||
|
List<String> text = new ArrayList();
|
||||||
|
|
||||||
|
for(int i = 0; i < tower.tanks.length; i++)
|
||||||
|
text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase()) + ": " + tower.tanks[i].getFill() + "/" + tower.tanks[i].getMaxFill() + "mB");
|
||||||
|
|
||||||
|
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1980,6 +1980,10 @@ public class ModItems {
|
|||||||
public static Item steamsuit_plate;
|
public static Item steamsuit_plate;
|
||||||
public static Item steamsuit_legs;
|
public static Item steamsuit_legs;
|
||||||
public static Item steamsuit_boots;
|
public static Item steamsuit_boots;
|
||||||
|
public static Item dieselsuit_helmet;
|
||||||
|
public static Item dieselsuit_plate;
|
||||||
|
public static Item dieselsuit_legs;
|
||||||
|
public static Item dieselsuit_boots;
|
||||||
|
|
||||||
public static Item chainsaw;
|
public static Item chainsaw;
|
||||||
|
|
||||||
@ -4956,6 +4960,20 @@ public class ModItems {
|
|||||||
steamsuit_legs = new ArmorDesh(aMatDesh, 2, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs");
|
steamsuit_legs = new ArmorDesh(aMatDesh, 2, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs");
|
||||||
steamsuit_boots = new ArmorDesh(aMatDesh, 2, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_boots");
|
steamsuit_boots = new ArmorDesh(aMatDesh, 2, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_boots");
|
||||||
|
|
||||||
|
ArmorMaterial aMatDiesel = EnumHelper.addArmorMaterial("HBM_BNUUY", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||||
|
aMatDiesel.customCraftingMaterial = ModItems.plate_copper;
|
||||||
|
dieselsuit_helmet = new ArmorDiesel(aMatDiesel, 2, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 360000, 500, 50, 1).setThreshold(5F).setMod(0.8F)
|
||||||
|
.setHasHardLanding(true)
|
||||||
|
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 4))
|
||||||
|
.setBlastProtection(0.5F)
|
||||||
|
.addResistance("monoxide", 0F)
|
||||||
|
.addResistance("fall", 0)
|
||||||
|
.hides(EnumPlayerPart.HAT)
|
||||||
|
.setUnlocalizedName("dieselsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_helmet");
|
||||||
|
dieselsuit_plate = new ArmorDiesel(aMatDiesel, 2, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 360000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_plate");
|
||||||
|
dieselsuit_legs = new ArmorDiesel(aMatDiesel, 2, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.DIESEL, 360000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_legs");
|
||||||
|
dieselsuit_boots = new ArmorDiesel(aMatDiesel, 2, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 360000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_boots");
|
||||||
|
|
||||||
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100);
|
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||||
aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr;
|
aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr;
|
||||||
ajr_helmet = new ArmorAJR(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F)
|
ajr_helmet = new ArmorAJR(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F)
|
||||||
|
|||||||
47
src/main/java/com/hbm/items/armor/ArmorDiesel.java
Normal file
47
src/main/java/com/hbm/items/armor/ArmorDiesel.java
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package com.hbm.items.armor;
|
||||||
|
|
||||||
|
import com.google.common.collect.HashMultimap;
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
|
import com.hbm.handler.ArmorModHandler;
|
||||||
|
import com.hbm.inventory.fluid.FluidType;
|
||||||
|
import com.hbm.render.model.ModelArmorDesh;
|
||||||
|
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.SharedMonsterAttributes;
|
||||||
|
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public class ArmorDiesel extends ArmorFSBFueled {
|
||||||
|
|
||||||
|
public ArmorDiesel(ArmorMaterial material, int layer, int slot, String texture, FluidType fuelType, int maxFuel, int fillRate, int consumption, int drain) {
|
||||||
|
super(material, layer, slot, texture, fuelType, maxFuel, fillRate, consumption, drain);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Multimap getItemAttributeModifiers() {
|
||||||
|
|
||||||
|
Multimap multimap = HashMultimap.create();
|
||||||
|
multimap.put(SharedMonsterAttributes.knockbackResistance.getAttributeUnlocalizedName(), new AttributeModifier(ArmorModHandler.fixedUUIDs[this.armorType], "Armor modifier", 0.25D, 1));
|
||||||
|
return multimap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
ModelArmorDesh[] models;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
|
||||||
|
|
||||||
|
if(models == null) {
|
||||||
|
models = new ModelArmorDesh[4];
|
||||||
|
|
||||||
|
for(int i = 0; i < 4; i++)
|
||||||
|
models[i] = new ModelArmorDesh(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
return models[armorSlot];
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
package com.hbm.tileentity.machine;
|
||||||
|
|
||||||
|
import com.hbm.tileentity.TileEntityMachineBase;
|
||||||
|
|
||||||
|
import api.hbm.energy.IEnergyUser;
|
||||||
|
import net.minecraft.util.ChunkCoordinates;
|
||||||
|
|
||||||
|
public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBase implements IEnergyUser {
|
||||||
|
|
||||||
|
public long power;
|
||||||
|
public int[] progress;
|
||||||
|
public int[] maxProgress;
|
||||||
|
public boolean isProgressing;
|
||||||
|
|
||||||
|
public TileEntityMachineAssemblerBase(int scount) {
|
||||||
|
super(scount);
|
||||||
|
|
||||||
|
int count = this.getRecipeCount();
|
||||||
|
|
||||||
|
progress = new int[count];
|
||||||
|
maxProgress = new int[count];
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract int getRecipeCount();
|
||||||
|
public abstract int getTemplateIndex(int index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param index
|
||||||
|
* @return A size 4 int array containing min input, max input and output indices in that order.
|
||||||
|
*/
|
||||||
|
public abstract int[] getSlotIndicesFromIndex(int index);
|
||||||
|
public abstract ChunkCoordinates[] getInputPositions();
|
||||||
|
public abstract ChunkCoordinates[] getOutputPositions();
|
||||||
|
}
|
||||||
@ -323,13 +323,6 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMaxFluidFillForReceive(FluidType type) {
|
public int getMaxFluidFillForReceive(FluidType type) {
|
||||||
/*int fill = this.getMaxFluidFill(type);
|
|
||||||
|
|
||||||
if(type == Fluids.WATER)
|
|
||||||
fill += water.getMaxFill();
|
|
||||||
|
|
||||||
return fill;*/
|
|
||||||
|
|
||||||
return super.getMaxFluidFillForReceive(type);
|
return super.getMaxFluidFillForReceive(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user