diff --git a/src/main/java/com/hbm/entity/mob/EntityGhost.java b/src/main/java/com/hbm/entity/mob/EntityGhost.java new file mode 100644 index 000000000..e9040294f --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGhost.java @@ -0,0 +1,54 @@ +package com.hbm.entity.mob; + +import java.util.List; + +import net.minecraft.entity.EntityCreature; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAILookIdle; +import net.minecraft.entity.ai.EntityAISwimming; +import net.minecraft.entity.ai.EntityAIWander; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityGhost extends EntityCreature { + + public EntityGhost(World world) { + super(world); + this.tasks.addTask(0, new EntityAISwimming(this)); + this.tasks.addTask(1, new EntityAIWander(this, 1.0D)); + this.tasks.addTask(2, new EntityAILookIdle(this)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.2D); + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote) { + double despawnRange = 100; + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(despawnRange, despawnRange, despawnRange)); + if(!players.isEmpty()) + this.setDead(); + } + } + + @Override + public void setHealth(float health) { + super.setHealth(this.getMaxHealth()); + } + + @Override + public boolean isEntityInvulnerable() { + return true; + } +} diff --git a/src/main/java/com/hbm/handler/HazmatRegistry.java b/src/main/java/com/hbm/handler/HazmatRegistry.java index 8ae14bbcd..539fd4966 100644 --- a/src/main/java/com/hbm/handler/HazmatRegistry.java +++ b/src/main/java/com/hbm/handler/HazmatRegistry.java @@ -66,19 +66,19 @@ public class HazmatRegistry { HazmatRegistry.registerHazmat(ModItems.hazmat_legs_grey, hazGray * legs); HazmatRegistry.registerHazmat(ModItems.hazmat_boots_grey, hazGray * boots); - Item rec_helmet = Compat.tryLoadItem("ReactorCraft", "reactorcraft_item_hazhelmet"); - Item rec_chest = Compat.tryLoadItem("ReactorCraft", "reactorcraft_item_hazchest"); - Item rec_legs = Compat.tryLoadItem("ReactorCraft", "reactorcraft_item_hazlegs"); - Item rec_boots = Compat.tryLoadItem("ReactorCraft", "reactorcraft_item_hazboots"); + Item rec_helmet = Compat.tryLoadItem(Compat.MOD_REC, "reactorcraft_item_hazhelmet"); + Item rec_chest = Compat.tryLoadItem(Compat.MOD_REC, "reactorcraft_item_hazchest"); + Item rec_legs = Compat.tryLoadItem(Compat.MOD_REC, "reactorcraft_item_hazlegs"); + Item rec_boots = Compat.tryLoadItem(Compat.MOD_REC, "reactorcraft_item_hazboots"); if(rec_helmet != null) HazmatRegistry.registerHazmat(rec_helmet, hazGray * helmet); if(rec_chest != null) HazmatRegistry.registerHazmat(rec_chest, hazGray * chest); if(rec_legs != null) HazmatRegistry.registerHazmat(rec_legs, hazGray * legs); if(rec_boots != null) HazmatRegistry.registerHazmat(rec_boots, hazGray * boots); - Item efn_helmet = Compat.tryLoadItem("etfuturum", "netherite_helmet"); - Item efn_chest = Compat.tryLoadItem("etfuturum", "netherite_chestplate"); - Item efn_legs = Compat.tryLoadItem("etfuturum", "netherite_leggings"); - Item efn_boots = Compat.tryLoadItem("etfuturum", "netherite_boots"); + Item efn_helmet = Compat.tryLoadItem(Compat.MOD_EF, "netherite_helmet"); + Item efn_chest = Compat.tryLoadItem(Compat.MOD_EF, "netherite_chestplate"); + Item efn_legs = Compat.tryLoadItem(Compat.MOD_EF, "netherite_leggings"); + Item efn_boots = Compat.tryLoadItem(Compat.MOD_EF, "netherite_boots"); if(efn_helmet != null) HazmatRegistry.registerHazmat(efn_helmet, star * helmet); if(efn_chest != null) HazmatRegistry.registerHazmat(efn_chest, star * chest); if(efn_legs != null) HazmatRegistry.registerHazmat(efn_legs, star * legs); diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 3d3de9bf2..4a86fc9ad 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -8,10 +8,13 @@ import com.hbm.hazard.modifier.*; import com.hbm.hazard.transformer.HazardTransformerRadiationNBT; import com.hbm.hazard.type.*; import com.hbm.items.ModItems; +import com.hbm.util.Compat; +import com.hbm.util.Compat.ReikaIsotope; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; public class HazardRegistry { @@ -36,6 +39,23 @@ public class HazardRegistry { //AM241 432a α 008.50Rad/s //AM242 141a β− 009.50Rad/s + //simplified groups for ReC compat + public static final float gen_S = 10_000F; + public static final float gen_H = 2_000F; + public static final float gen_10D = 100F; + public static final float gen_100D = 80F; + public static final float gen_1Y = 50F; + public static final float gen_10Y = 30F; + public static final float gen_100Y = 10F; + public static final float gen_1K = 7.5F; + public static final float gen_10K = 6.25F; + public static final float gen_100K = 5F; + public static final float gen_1M = 2.5F; + public static final float gen_10M = 1.5F; + public static final float gen_100M = 1F; + public static final float gen_1B = 0.5F; + public static final float gen_10B = 0.1F; + public static final float co60 = 30.0F; public static final float tc99 = 2.75F; public static final float i131 = 150.0F; @@ -301,7 +321,17 @@ public class HazardRegistry { HazardSystem.register(ModBlocks.fallout, makeData(RADIATION, fo * powder * 2)); HazardSystem.register(ModBlocks.block_fallout, makeData(RADIATION, yc * block * powder_mult)); - //TODO + /* + * ReC compat + */ + Item recWaste = Compat.tryLoadItem(Compat.MOD_REC, "reactorcraft_item_waste"); + if(recWaste != null) { + for(ReikaIsotope i : ReikaIsotope.values()) { + if(i.getRad() > 0) { + HazardSystem.register(new ItemStack(recWaste, 1, i.ordinal()), makeData(RADIATION, i.getRad())); + } + } + } } public static void registerTrafos() { diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index d136cd2f7..ea72ee4a5 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -314,7 +314,7 @@ public class ShredderRecipes { /* * GC COMPAT */ - Item gcMoonBlock = Compat.tryLoadItem("GalacticraftCore", "moonBlock"); + Item gcMoonBlock = Compat.tryLoadItem(Compat.MOD_GCC, "moonBlock"); if(gcMoonBlock != null) { ShredderRecipes.setRecipe(new ItemStack(gcMoonBlock, 1, 3), new ItemStack(ModBlocks.moon_turf)); //Moon dirt ShredderRecipes.setRecipe(new ItemStack(gcMoonBlock, 1, 5), new ItemStack(ModBlocks.moon_turf)); //Moon topsoil @@ -323,9 +323,9 @@ public class ShredderRecipes { /* * AR COMPAT */ - Item arMoonTurf = Compat.tryLoadItem("advancedrocketry", "turf"); + Item arMoonTurf = Compat.tryLoadItem(Compat.MOD_AR, "turf"); if(arMoonTurf != null) ShredderRecipes.setRecipe(arMoonTurf, new ItemStack(ModBlocks.moon_turf)); //i assume it's moon turf - Item arMoonTurfDark = Compat.tryLoadItem("advancedrocketry", "turfDark"); + Item arMoonTurfDark = Compat.tryLoadItem(Compat.MOD_AR, "turfDark"); if(arMoonTurfDark != null) ShredderRecipes.setRecipe(arMoonTurfDark, new ItemStack(ModBlocks.moon_turf)); //probably moon dirt? would have helped if i had ever played AR for more than 5 seconds } diff --git a/src/main/java/com/hbm/items/ItemEnumMulti.java b/src/main/java/com/hbm/items/ItemEnumMulti.java index 50e667ec1..f68a52470 100644 --- a/src/main/java/com/hbm/items/ItemEnumMulti.java +++ b/src/main/java/com/hbm/items/ItemEnumMulti.java @@ -18,11 +18,13 @@ public class ItemEnumMulti extends Item { //hell yes, now we're thinking with enums! private Class theEnum; + private boolean multiName; private boolean multiTexture; - public ItemEnumMulti(Class theEnum, boolean multiTexture) { + public ItemEnumMulti(Class theEnum, boolean multiName, boolean multiTexture) { this.setHasSubtypes(true); this.theEnum = theEnum; + this.multiName = multiName; this.multiTexture = multiTexture; } @@ -85,4 +87,16 @@ public class ItemEnumMulti extends Item { public ItemStack stackFromEnum(Enum num) { return stackFromEnum(1, num); } + + @Override + public String getUnlocalizedName(ItemStack stack) { + + if(multiName) { + + Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + } else { + return super.getUnlocalizedName(stack); + } + } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 2a4cda75c..59673bf10 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -3063,7 +3063,7 @@ public class ModItems { circuit_bismuth = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_bismuth"); circuit_tantalium_raw = new Item().setUnlocalizedName("circuit_tantalium_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_tantalium_raw"); circuit_tantalium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_tantalium"); - circuit_star_piece = (ItemEnumMulti) new ItemEnumMulti(ScrapType.class, true).setUnlocalizedName("circuit_star_piece").setCreativeTab(null); + circuit_star_piece = (ItemEnumMulti) new ItemEnumMulti(ScrapType.class, true, true).setUnlocalizedName("circuit_star_piece").setCreativeTab(null); circuit_star_component = (ItemEnumMulti) new ItemCircuitStarComponent().setUnlocalizedName("circuit_star_component").setCreativeTab(null); circuit_star = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_star").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_star"); circuit_targeting_tier1 = new Item().setUnlocalizedName("circuit_targeting_tier1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_targeting_tier1"); diff --git a/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java b/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java index dd931b41e..840d79ea9 100644 --- a/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java +++ b/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java @@ -5,7 +5,7 @@ import com.hbm.items.ItemEnumMulti; public class ItemCircuitStarComponent extends ItemEnumMulti { public ItemCircuitStarComponent() { - super(CircuitComponentType.class, true); + super(CircuitComponentType.class, true, true); } public static enum CircuitComponentType { diff --git a/src/main/java/com/hbm/items/special/ItemPlasticScrap.java b/src/main/java/com/hbm/items/special/ItemPlasticScrap.java index 312cae5dc..3e9aa71e9 100644 --- a/src/main/java/com/hbm/items/special/ItemPlasticScrap.java +++ b/src/main/java/com/hbm/items/special/ItemPlasticScrap.java @@ -7,7 +7,7 @@ import net.minecraft.item.Item; public class ItemPlasticScrap extends ItemEnumMulti { public ItemPlasticScrap() { - super(ScrapType.class, false); + super(ScrapType.class, false, false); this.setCreativeTab(null); } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 810ad974b..76b5f56be 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -588,6 +588,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityBlockSpider.class, new RenderBlockSpider()); RenderingRegistry.registerEntityRenderingHandler(EntityUFO.class, new RenderUFO()); RenderingRegistry.registerEntityRenderingHandler(EntitySiegeZombie.class, new RenderSiegeZombie()); + RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 047e62cc9..ceedd0ab9 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -755,6 +755,8 @@ public class ModEventHandlerClient { } GL11.glPopMatrix(); + + RenderOverhead.renderMarkers(event.partialTicks); if(ArmorFSB.hasFSBArmor(player)) { ItemStack plate = player.inventory.armorInventory[2]; diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGhost.java b/src/main/java/com/hbm/render/entity/mob/RenderGhost.java new file mode 100644 index 000000000..11dd78995 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderGhost.java @@ -0,0 +1,31 @@ +package com.hbm.render.entity.mob; + +import com.hbm.entity.mob.EntityGhost; +import com.hbm.lib.RefStrings; +import com.hbm.render.model.ModelSiegeZombie; + +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.util.ResourceLocation; + +public class RenderGhost extends RenderBiped { + + public RenderGhost() { + super(new ModelSiegeZombie(0.0F), 0.5F, 1.0F); + } + + @Override + protected ResourceLocation getEntityTexture(EntityLiving entity) { + return this.getEntityTexture((EntityGhost) entity); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return this.getEntityTexture((EntityGhost) entity); + } + + protected ResourceLocation getEntityTexture(EntityGhost entity) { + return new ResourceLocation(RefStrings.MODID + ":textures/entity/ghost.png"); + } +} diff --git a/src/main/java/com/hbm/render/util/RenderOverhead.java b/src/main/java/com/hbm/render/util/RenderOverhead.java index 8352163f3..637b4cfb5 100644 --- a/src/main/java/com/hbm/render/util/RenderOverhead.java +++ b/src/main/java/com/hbm/render/util/RenderOverhead.java @@ -1,7 +1,13 @@ package com.hbm.render.util; +import java.util.HashMap; +import java.util.Map.Entry; + import org.lwjgl.opengl.GL11; +import com.hbm.util.Tuple.Pair; +import com.hbm.util.Tuple.Triplet; + import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.OpenGlHelper; @@ -97,6 +103,86 @@ public class RenderOverhead { } } + public static final HashMap, Pair> markers = new HashMap(); + + public static void renderMarkers(float partialTicks) { + + if(markers.isEmpty()) + return; + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; + double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; + double z = player.prevPosZ + (player.posZ - player.prevPosZ) * partialTicks; + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_COLOR_MATERIAL); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_POINT_SMOOTH); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA,GL11.GL_ONE_MINUS_SRC_ALPHA); + + Tessellator tess = Tessellator.instance; + tess.startDrawing(GL11.GL_LINES); + + for(Entry, Pair> entry : markers.entrySet()) { + Triplet pos = entry.getKey(); + Pair pars = entry.getValue(); + + int pX = pos.getX(); + int pY = pos.getY(); + int pZ = pos.getZ(); + + int color = pars.getValue(); + double[] bounds = pars.getKey(); + double minX = bounds[0]; + double minY = bounds[1]; + double minZ = bounds[2]; + double maxX = bounds[3]; + double maxY = bounds[4]; + double maxZ = bounds[5]; + + tess.setColorOpaque_I(color); + tess.addVertex(pX + minX - x, pY + maxY - y, pZ + minZ - z); + tess.addVertex(pX + minX - x, pY + minY - y, pZ + minZ - z); + tess.addVertex(pX + minX - x, pY + maxY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + maxY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + maxY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + minY - y, pZ + minZ - z); + tess.addVertex(pX + minX - x, pY + minY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + minY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + minY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + minY - y, pZ + maxZ - z); + tess.addVertex(pX + maxX - x, pY + maxY - y, pZ + maxZ - z); + tess.addVertex(pX + maxX - x, pY + maxY - y, pZ + minZ - z); + tess.addVertex(pX + maxX - x, pY + maxY - y, pZ + maxZ - z); + tess.addVertex(pX + maxX - x, pY + minY - y, pZ + maxZ - z); + tess.addVertex(pX + minX - x, pY + maxY - y, pZ + minZ - z); + tess.addVertex(pX + minX - x, pY + maxY - y, pZ + maxZ - z); + tess.addVertex(pX + minX - x, pY + maxY - y, pZ + maxZ - z); + tess.addVertex(pX + minX - x, pY + minY - y, pZ + maxZ - z); + tess.addVertex(pX + minX - x, pY + maxY - y, pZ + maxZ - z); + tess.addVertex(pX + maxX - x, pY + maxY - y, pZ + maxZ - z); + tess.addVertex(pX + minX - x, pY + minY - y, pZ + maxZ - z); + tess.addVertex(pX + maxX - x, pY + minY - y, pZ + maxZ - z); + tess.addVertex(pX + minX - x, pY + minY - y, pZ + minZ - z); + tess.addVertex(pX + minX - x, pY + minY - y, pZ + maxZ - z); + } + + tess.draw(); + + tess.setColorOpaque_F(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_COLOR_MATERIAL); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_POINT_SMOOTH); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glPopMatrix(); + } + public static void renderThermalSight(float partialTicks) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index 4a78e1dc3..3459fc34c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -20,8 +20,10 @@ public class TileEntityHadronPower extends TileEntity implements IEnergyUser { @Override public void updateEntity() { - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + if(!worldObj.isRemote) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } } } diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index edfbdf145..6a9d87ba4 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -61,9 +61,9 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); //Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht! - registerIfExists("gregtech", "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - registerIfExists("gregtech", "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - registerIfExists("gregtech", "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); } private static void registerIfExists(String domain, String name, HazardClass... classes) { diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index 4c58f7c34..643ef1f91 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -1,11 +1,65 @@ package com.hbm.util; +import com.hbm.hazard.HazardRegistry; + import net.minecraft.item.Item; public class Compat { + + public static final String MOD_GT6 = "gregtech"; + public static final String MOD_GCC = "GalacticraftCore"; + public static final String MOD_AR = "advancedrocketry"; + public static final String MOD_EF = "etfuturum"; + public static final String MOD_REC = "ReactorCraft"; public static Item tryLoadItem(String domain, String name) { String reg = domain + ":" + name; return (Item) Item.itemRegistry.getObject(reg); } + + public static enum ReikaIsotope { + C14(HazardRegistry.gen_10K), + U235(HazardRegistry.u235), + U238(HazardRegistry.u238), + Pu239(HazardRegistry.pu239), + Pu244(HazardRegistry.gen_100M), + Th232(HazardRegistry.th232), + Rn222(HazardRegistry.gen_10D), + Ra226(HazardRegistry.ra226), + Sr90(HazardRegistry.gen_10Y), + Po210(HazardRegistry.po210), + Cs134(HazardRegistry.gen_1Y), + Xe135(HazardRegistry.xe135), + Zr93(HazardRegistry.gen_1M), + Mo99(HazardRegistry.gen_10D), + Cs137(HazardRegistry.cs137), + Tc99(HazardRegistry.tc99), + I131(HazardRegistry.i131), + Pm147(HazardRegistry.gen_1Y), + I129(HazardRegistry.gen_10M), + Sm151(HazardRegistry.gen_100Y), + Ru106(HazardRegistry.gen_1Y), + Kr85(HazardRegistry.gen_10Y), + Pd107(HazardRegistry.gen_10M), + Se79(HazardRegistry.gen_100K), + Gd155(HazardRegistry.gen_1Y), + Sb125(HazardRegistry.gen_1Y), + Sn126(HazardRegistry.gen_100K), + Xe136(0), + I135(HazardRegistry.gen_H), + Xe131(HazardRegistry.gen_10D), + Ru103(HazardRegistry.gen_S), + Pm149(HazardRegistry.gen_10D), + Rh105(HazardRegistry.gen_H); + + private float rads; + + private ReikaIsotope(float rads) { + this.rads = rads; + } + + public float getRad() { + return this.rads; + } + } } diff --git a/src/main/resources/assets/hbm/textures/items/ball_dynamite.png b/src/main/resources/assets/hbm/textures/items/ball_dynamite.png new file mode 100644 index 000000000..c13696d67 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ball_dynamite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ball_tnt.png b/src/main/resources/assets/hbm/textures/items/ball_tnt.png new file mode 100644 index 000000000..4caf80657 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ball_tnt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_component.chipset.png b/src/main/resources/assets/hbm/textures/items/circuit_star_component.chipset.png new file mode 100644 index 000000000..daaa80e2a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_component.chipset.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_component.cpu.png b/src/main/resources/assets/hbm/textures/items/circuit_star_component.cpu.png new file mode 100644 index 000000000..e130d6e01 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_component.cpu.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_component.ram.png b/src/main/resources/assets/hbm/textures/items/circuit_star_component.ram.png new file mode 100644 index 000000000..07ad7a3e9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_component.ram.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_blank.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_blank.png new file mode 100644 index 000000000..7538b4e2a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_blank.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_transistor.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_transistor.png new file mode 100644 index 000000000..a4cc0fcf1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_transistor.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_bios.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_bios.png new file mode 100644 index 000000000..1e8d1036e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_bios.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_bus.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_bus.png new file mode 100644 index 000000000..9cda93203 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_bus.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_chipset.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_chipset.png new file mode 100644 index 000000000..1473371f4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_chipset.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_cmos.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_cmos.png new file mode 100644 index 000000000..d383d2012 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_cmos.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_io.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_io.png new file mode 100644 index 000000000..4cb148676 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_io.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_north.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_north.png new file mode 100644 index 000000000..d23bba477 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_north.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_south.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_south.png new file mode 100644 index 000000000..38fac074b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.bridge_south.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_cache.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_cache.png new file mode 100644 index 000000000..1b8674d72 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_cache.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_clock.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_clock.png new file mode 100644 index 000000000..365a900be Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_clock.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_ext.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_ext.png new file mode 100644 index 000000000..0126f7bb1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_ext.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_logic.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_logic.png new file mode 100644 index 000000000..b337825c2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_logic.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_register.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_register.png new file mode 100644 index 000000000..84550f3ab Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_register.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_socket.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_socket.png new file mode 100644 index 000000000..23e4b9455 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.cpu_socket.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_a.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_a.png new file mode 100644 index 000000000..3c55e9f9a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_a.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_b.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_b.png new file mode 100644 index 000000000..0bf8ea438 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_b.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_c.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_c.png new file mode 100644 index 000000000..a1562caaf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_c.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_d.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_d.png new file mode 100644 index 000000000..a4786fab9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_16k_d.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_socket.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_socket.png new file mode 100644 index 000000000..88f70382b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.mem_socket.png differ diff --git a/src/main/resources/assets/hbm/textures/items/clay_ball.png b/src/main/resources/assets/hbm/textures/items/clay_ball.png new file mode 100644 index 000000000..5103d6cc4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/clay_ball.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_c4.png b/src/main/resources/assets/hbm/textures/items/ingot_c4.png new file mode 100644 index 000000000..fc415705b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_c4.png differ