radium coffee

This commit is contained in:
Bob 2021-05-24 17:21:39 +02:00
parent 594e7becb2
commit d4b32a8f7a
44 changed files with 6200 additions and 61 deletions

View File

@ -233,6 +233,8 @@ public class ModBlocks {
public static Block lamp_tritium_green_on;
public static Block lamp_tritium_blue_off;
public static Block lamp_tritium_blue_on;
public static Block lamp_demon;
public static Block reinforced_stone;
public static Block concrete_smooth;
@ -1242,7 +1244,9 @@ public class ModBlocks {
lamp_tritium_green_off = new ReinforcedLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_green_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_off");
lamp_tritium_green_on = new ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on");
lamp_tritium_blue_off = new ReinforcedLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off");
lamp_tritium_blue_on = new ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on");
lamp_tritium_blue_on = new ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on");
lamp_demon = new DemonLamp().addRadiation(100000F).addFire(25).toBlock().setBlockName("lamp_demon").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_demon");
reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone");
concrete_smooth = new BlockGeneric(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete");
@ -2082,6 +2086,7 @@ public class ModBlocks {
GameRegistry.registerBlock(lamp_tritium_green_on, lamp_tritium_green_on.getUnlocalizedName());
GameRegistry.registerBlock(lamp_tritium_blue_off, lamp_tritium_blue_off.getUnlocalizedName());
GameRegistry.registerBlock(lamp_tritium_blue_on, lamp_tritium_blue_on.getUnlocalizedName());
GameRegistry.registerBlock(lamp_demon, ItemBlockHazard.class, lamp_demon.getUnlocalizedName());
//Reinforced Blocks
GameRegistry.registerBlock(asphalt, asphalt.getUnlocalizedName());

View File

@ -0,0 +1,45 @@
package com.hbm.blocks.machine;
import com.hbm.interfaces.IItemHazard;
import com.hbm.modules.ItemHazardModule;
import com.hbm.tileentity.machine.TileEntityDemonLamp;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class DemonLamp extends BlockContainer implements IItemHazard {
ItemHazardModule module;
public DemonLamp() {
super(Material.iron);
this.module = new ItemHazardModule();
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityDemonLamp();
}
@Override
public ItemHazardModule getModule() {
return module;
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
}

View File

@ -51,6 +51,7 @@ public class ConsumableRecipes {
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.chocolate_milk, 1), new Object[] { "paneGlass", new ItemStack(Items.dye, 1, 3), Items.milk_bucket, ModBlocks.block_niter, ModItems.sulfur, ModItems.sulfur, ModItems.sulfur, ModItems.powder_fire }));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.loops), new Object[] { ModItems.flame_pony, Items.wheat, Items.sugar });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.loop_stew), new Object[] { ModItems.loops, ModItems.can_smart, Items.bowl });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.coffee_radium), new Object[] { ModItems.coffee, ModItems.nugget_ra226 });
//Peas
GameRegistry.addRecipe(new ItemStack(ModItems.peas), new Object[] { " S ", "SNS", " S ", 'S', Items.wheat_seeds, 'N', Items.gold_nugget });
@ -167,6 +168,7 @@ public class ConsumableRecipes {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ink, 1), new Object[] { "FPF", "PIP", "FPF", 'F', new ItemStack(Blocks.red_flower, 1, OreDictionary.WILDCARD_VALUE), 'P', ModItems.armor_polish, 'I', "dyeBlack" }));
GameRegistry.addRecipe(new ItemStack(ModItems.bathwater_mk2, 1), new Object[] { "MWM", "WBW", "MWM", 'M', ModItems.bottle_mercury, 'W', ModItems.nuclear_waste, 'B', ModItems.bathwater });
GameRegistry.addRecipe(new ItemStack(ModItems.back_tesla, 1), new Object[] { "DGD", "GTG", "DGD", 'D', ModItems.ducttape, 'G', ModItems.wire_gold, 'T', ModBlocks.tesla });
GameRegistry.addRecipe(new ItemStack(ModItems.medal_liquidator, 1), new Object[] { "GBG", "BFB", "GBG", 'G', ModItems.nugget_au198, 'B', ModItems.ingot_boron, 'F', ModItems.debris_fuel });
//Stealth boy
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stealth_boy, 1), new Object[] { " B", "LI", "LC", 'B', Item.getItemFromBlock(Blocks.stone_button), 'L', Items.leather, 'I', "ingotSteel", 'C', ModItems.circuit_red_copper }));

View File

@ -158,6 +158,7 @@ public class RodRecipes {
RecipesCommon.addQuadRodBillet(ModItems.billet_schrabidium_fuel, ModItems.rod_quad_schrabidium_fuel);
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rbmk_fuel_empty, 1), new Object[] { "ZRZ", "Z Z", "ZRZ", 'Z', "ingotZirconium", 'R', ModItems.rod_quad_empty }));
RecipesCommon.addRBMKRod(ModItems.billet_uranium, ModItems.rbmk_fuel_ueu);
RecipesCommon.addRBMKRod(ModItems.billet_uranium_fuel, ModItems.rbmk_fuel_meu);
RecipesCommon.addRBMKRod(ModItems.billet_thorium_fuel, ModItems.rbmk_fuel_thmeu);
RecipesCommon.addRBMKRod(ModItems.billet_plutonium_fuel, ModItems.rbmk_fuel_lep);

View File

@ -454,6 +454,7 @@ public class WeaponRecipes {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.custom_schrab, 1), new Object[] { " C ", "LUL", "LUL", 'C', "plateCopper", 'L', "plateLead", 'U', "ingotSchrabidium" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.demon_core_open, 1), new Object[] { "PRP", " CS", "PRP", 'P', "plateTitanium", 'R', "plateDenseLead", 'C', ModItems.man_core, 'S', ModItems.screwdriver }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.lamp_demon, 1), new Object[] { " D ", "S S", 'D', ModItems.demon_core_closed, 'S', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.crucible, 1, 3), new Object[] { "MEM", "YDY", "YCY", 'M', ModItems.ingot_meteorite_forged, 'E', ModItems.ingot_euphemium, 'Y', ModItems.billet_yharonite, 'D', ModItems.demon_core_closed, 'C', ModItems.ingot_chainsteel }));
}

View File

@ -6,7 +6,9 @@ import java.util.List;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.explosion.ExplosionNukeSmall;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.util.ContaminationUtil;
@ -15,6 +17,8 @@ import com.hbm.util.ContaminationUtil.HazardType;
import api.hbm.entity.IRadiationImmune;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityFlying;
import net.minecraft.entity.EntityLivingBase;
@ -23,7 +27,9 @@ import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Vec3;
@ -50,6 +56,11 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
this.ignoreFrustumCheck = true;
this.deathTime = -30;
}
@Override
protected boolean canDespawn() {
return false;
}
@Override
public boolean attackEntityFrom(DamageSource source, float amount) {
@ -60,7 +71,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
boolean hit = super.attackEntityFrom(source, amount);
if(hit)
hurtCooldown = 8;
hurtCooldown = 5;
return hit;
}
@ -97,9 +108,10 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
this.target = null;
}
if(this.target == null && this.scanCooldown <= 0) {
if(this.scanCooldown <= 0) {
List<Entity> entities = worldObj.getEntitiesWithinAABB(Entity.class, this.boundingBox.expand(100, 50, 100));
this.secondaries.clear();
this.target = null;
for(Entity entity : entities) {
@ -108,6 +120,12 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
if(entity instanceof EntityPlayer) {
if(((EntityPlayer)entity).capabilities.isCreativeMode)
continue;
if(((EntityPlayer)entity).isPotionActive(Potion.invisibility.id))
continue;
if(this.target == null) {
this.target = entity;
} else {
@ -117,11 +135,14 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
}
}
if(entity instanceof EntityLivingBase && this.getDistanceSqToEntity(entity) < 50 * 50 && this.canEntityBeSeen(entity) && entity != this.target) {
if(entity instanceof EntityLivingBase && this.getDistanceSqToEntity(entity) < 100 * 100 && this.canEntityBeSeen(entity) && entity != this.target) {
this.secondaries.add(entity);
}
}
if(this.target == null && !this.secondaries.isEmpty())
this.target = this.secondaries.get(rand.nextInt(this.secondaries.size()));
this.scanCooldown = 50;
}
@ -149,15 +170,19 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
this.setBeam(false);
}
double dist = Math.abs(this.target.posX - this.posX) + Math.abs(this.target.posZ - this.posZ);
if(dist < 25)
this.beamTimer = 30;
if(this.target != null) {
double dist = Math.abs(this.target.posX - this.posX) + Math.abs(this.target.posZ - this.posZ);
if(dist < 25)
this.beamTimer = 30;
}
if(beamTimer > 0) {
this.beamTimer--;
if(!this.getBeam())
if(!this.getBeam()) {
worldObj.playSoundAtEntity(this, "hbm:entity.ufoBeam", 10.0F, 1.0F);
this.setBeam(true);
}
int ix = (int)Math.floor(this.posX);
int iz = (int)Math.floor(this.posZ);
@ -186,8 +211,8 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "ufo");
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, iy + 0.5, posZ), new TargetPoint(dimension, posX, iy + 0.5, posZ, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5), new TargetPoint(dimension, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, iy + 0.5, posZ), new TargetPoint(dimension, posX, iy + 0.5, posZ, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5), new TargetPoint(dimension, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5, 150));
}
}
@ -197,7 +222,12 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
if(!this.secondaries.isEmpty()){
Entity e = this.secondaries.get(rand.nextInt(this.secondaries.size()));
laserAttack(e);
if(!e.isEntityAlive())
this.secondaries.remove(e);
else
laserAttack(e);
} else if(this.target != null) {
laserAttack(this.target);
}
@ -213,7 +243,12 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
if(!this.secondaries.isEmpty()){
Entity e = this.secondaries.get(rand.nextInt(this.secondaries.size()));
rocketAttack(e);
if(!e.isEntityAlive())
this.secondaries.remove(e);
else
rocketAttack(e);
} else if(this.target != null) {
rocketAttack(this.target);
}
@ -238,7 +273,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
double deltaZ = this.getZ() - this.posZ;
Vec3 delta = Vec3.createVectorHelper(deltaX, deltaY, deltaZ);
double len = delta.lengthVector();
double speed = 5D;
double speed = this.target instanceof EntityPlayer ? 5D : 2D;
if(len > 5) {
if(isCourseTraversable(this.getX(), this.getY(), this.getZ(), len)) {
@ -259,9 +294,20 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
this.motionY -= 0.05D;
if(this.deathTime == -10) {
worldObj.playSoundAtEntity(this, "hbm:entity.chopperDamage", 10.0F, 1.0F);
}
if(this.deathTime == 19 && !worldObj.isRemote) {
worldObj.newExplosion(this, posX, posY, posZ, 10F, true, true);
ExplosionNukeSmall.explode(worldObj, posX, posY, posZ, ExplosionNukeSmall.medium);
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(200, 200, 200));
for(EntityPlayer player : players) {
player.triggerAchievement(MainRegistry.bossUFO);
player.inventory.addItemStackToInventory(new ItemStack(ModItems.coin_ufo));
}
}
super.onDeathUpdate();
@ -384,4 +430,10 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I
public int getZ() {
return this.dataWatcher.getWatchableObjectInt(19);
}
@Override
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance) {
return distance < 500000;
}
}

View File

@ -140,7 +140,7 @@ public class EntityBOTPrimeHead extends EntityBOTPrimeBase implements IBossDispl
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(200, 200, 200));
for(EntityPlayer player : players) {
player.triggerAchievement(MainRegistry.bossMaskman);
player.triggerAchievement(MainRegistry.bossWorm);
player.inventory.addItemStackToInventory(new ItemStack(ModItems.coin_worm));
}
}

View File

@ -47,6 +47,10 @@ public class EntityBulletBase extends Entity implements IProjectile {
private BulletConfiguration config;
public EntityLivingBase shooter;
public float overrideDamage;
public BulletConfiguration getConfig() {
return config;
}
public EntityBulletBase(World world) {
super(world);

View File

@ -4,14 +4,18 @@ import java.util.List;
import java.util.Random;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration;
import com.hbm.interfaces.IBulletImpactBehavior;
import com.hbm.interfaces.IBulletUpdateBehavior;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.util.BobMathUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@ -232,6 +236,7 @@ public class GunNPCFactory {
bullet.vPFX = "reddust";
bullet.destroysBlocks = false;
bullet.explosive = 0F;
bullet.bUpdate = new IBulletUpdateBehavior() {
@ -253,7 +258,7 @@ public class GunNPCFactory {
if(target != null) {
if(bullet.getDistanceSqToEntity(target) < 5) {
bullet.worldObj.newExplosion(bullet.shooter, bullet.posX, bullet.posY, bullet.posZ, 4F, true, false);
bullet.getConfig().bImpact.behaveBlockHit(bullet, -1, -1, -1);
bullet.setDead();
return;
}
@ -307,6 +312,30 @@ public class GunNPCFactory {
}
};
bullet.bImpact = new IBulletImpactBehavior() {
@Override
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "hbm:entity.ufoBlast", 5.0F, 0.9F + bullet.worldObj.rand.nextFloat() * 0.2F);
bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "fireworks.blast", 5.0F, 0.5F);
ExplosionNukeGeneric.dealDamage(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, 10, 50);
for(int i = 0; i < 3; i++) {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "plasmablast");
data.setFloat("r", 0.0F);
data.setFloat("g", 0.75F);
data.setFloat("b", 1.0F);
data.setFloat("pitch", -30F + 30F * i);
data.setFloat("yaw", bullet.worldObj.rand.nextFloat() * 180F);
data.setFloat("scale", 5F);
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ),
new TargetPoint(bullet.worldObj.provider.dimensionId, bullet.posX, bullet.posY, bullet.posZ, 100));
}
}
};
return bullet;
}
}

View File

@ -37,7 +37,7 @@ public class SILEXRecipeHandler extends TemplateRecipeHandler {
public RecipeSet(Object input, SILEXRecipe recipe) {
this.input = new PositionedStack(input, 30, 24);
this.input = new PositionedStack(input, 12, 24);
this.outputs = new ArrayList<PositionedStack>();
this.chances = new ArrayList<Double>();
this.produced = recipe.fluidProduced / recipe.fluidConsumed;
@ -48,13 +48,25 @@ public class SILEXRecipeHandler extends TemplateRecipeHandler {
weight += obj.itemWeight;
}
int off = 0;
int sep = outputs.size() > 3 ? 3 : 2;
for(WeightedRandomObject obj : recipe.outputs) {
outputs.add(new PositionedStack(obj.asStack(), 93, 24 + off - 9 * ((recipe.outputs.size() + 1) / 2)));
for(int i = 0; i < recipe.outputs.size(); i++) {
WeightedRandomObject obj = recipe.outputs.get(i);
if(i < sep) {
outputs.add(new PositionedStack(obj.asStack(), 68, 24 + i * 18 - 9 * ((Math.min(recipe.outputs.size(), sep) + 1) / 2)));
} else {
outputs.add(new PositionedStack(obj.asStack(), 116, 24 + (i - sep) * 18 - 9 * ((Math.min(recipe.outputs.size() - sep, sep)) / 2)));
}
chances.add(100 * obj.itemWeight / weight);
off += 18;
}
/*for(WeightedRandomObject obj : recipe.outputs) {
outputs.add(new PositionedStack(obj.asStack(), 65, 24 + off - 9 * ((recipe.outputs.size()) / 2) + 1));
off += 18;
}*/
}
@Override
@ -149,7 +161,7 @@ public class SILEXRecipeHandler extends TemplateRecipeHandler {
transferRectsGui = new LinkedList<RecipeTransferRect>();
guiGui = new LinkedList<Class<? extends GuiContainer>>();
transferRects.add(new RecipeTransferRect(new Rectangle(60, 34 - 11, 24, 18), "silex"));
transferRects.add(new RecipeTransferRect(new Rectangle(42, 34 - 11, 24, 18), "silex"));
transferRectsGui.add(new RecipeTransferRect(new Rectangle(39, 60, 60, 50), "silex"));
guiGui.add(GUISILEX.class);
RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects);
@ -163,14 +175,23 @@ public class SILEXRecipeHandler extends TemplateRecipeHandler {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
int index = 0;
/*int index = 0;
for(Double chance : rec.chances) {
fontRenderer.drawString(((int)(chance * 10D) / 10D) + "%", 112, 28 + index * 18 - 9 * ((rec.chances.size() + 1) / 2), 0x404040);
fontRenderer.drawString(((int)(chance * 10D) / 10D) + "%", 84, 28 + index * 18 - 9 * ((rec.chances.size() + 1) / 2), 0x404040);
index++;
}*/
for(int i = 0; i < rec.chances.size(); i++) {
double chance = rec.chances.get(i);
PositionedStack sta = rec.outputs.get(i);
fontRenderer.drawString(((int)(chance * 10D) / 10D) + "%", sta.relx + 18, sta.rely + 4, 0x404040);
}
String am = ((int)(rec.produced * 10D) / 10D) + "x";
fontRenderer.drawString(am, 70 - fontRenderer.getStringWidth(am) / 2, 43, 0x404040);
fontRenderer.drawString(am, 52 - fontRenderer.getStringWidth(am) / 2, 43, 0x404040);
}
@Override

View File

@ -60,7 +60,8 @@ public class SILEXRecipes {
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 2))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium), 2))
);
itemTranslation.put(new ComparableStack(ModItems.powder_lapis), new ComparableStack(Items.dye, 1, 4));
recipes.put(new ComparableStack(Items.dye, 1, 4), new SILEXRecipe(100, 100)
.addOut(new WeightedRandomObject(new ItemStack(ModItems.sulfur), 4))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium), 3))
@ -77,15 +78,22 @@ public class SILEXRecipes {
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 8 - 2 * i))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium), 1 + 2 * i)) );
recipes.put(new ComparableStack(ModItems.rbmk_fuel_balefire_gold, 1, i), new SILEXRecipe(600, 100)
recipes.put(new ComparableStack(ModItems.rbmk_pellet_balefire_gold, 1, i), new SILEXRecipe(600, 100)
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 9 - 2 * i))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_balefire), 1 + 2 * i)) );
recipes.put(new ComparableStack(ModItems.rbmk_fuel_balefire_gold, 1, i + 5), new SILEXRecipe(600, 100)
recipes.put(new ComparableStack(ModItems.rbmk_pellet_balefire_gold, 1, i + 5), new SILEXRecipe(600, 100)
.addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 8 - 2 * i))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_balefire), 1 + 2 * i)) );
}
recipes.put(new ComparableStack(ModItems.fallout, 1), new SILEXRecipe(100, 100)
.addOut(new WeightedRandomObject(new ItemStack(ModItems.dust), 90))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_co60), 6))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 1))
.addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_ra226), 3))
);
}
public static SILEXRecipe getOutput(ItemStack stack) {

View File

@ -193,6 +193,7 @@ public class ModItems {
public static Item nugget_polonium;
public static Item nugget_co60;
public static Item nugget_au198;
public static Item nugget_ra226;
public static Item plate_titanium;
public static Item plate_aluminium;
public static Item wire_red_copper;
@ -782,6 +783,8 @@ public class ModItems {
public static Item bottle2_fritz_special;
public static Item bottle2_sunset;
public static Item chocolate_milk;
public static Item coffee;
public static Item coffee_radium;
public static Item cap_nuka;
public static Item cap_quantum;
public static Item cap_sparkle;
@ -824,7 +827,7 @@ public class ModItems {
public static Item coin_radiation;
public static Item coin_maskman;
public static Item coin_worm;
public static Item medal_liquidator;
public static Item coin_ufo;
public static Item rod_empty;
public static Item rod_uranium;
@ -2005,6 +2008,7 @@ public class ModItems {
public static Item fabsols_vodka;
public static Item injector_5htp;
public static Item injector_knife;
public static Item medal_liquidator;
public static Item hazmat_helmet;
public static Item hazmat_plate;
@ -2502,6 +2506,7 @@ public class ModItems {
nugget_polonium = new ItemHazard(ItemHazard.po210 * ItemHazard.nugget, true).setUnlocalizedName("nugget_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_polonium");
nugget_co60 = new ItemHazard().addRadiation(ItemHazard.co60 * ItemHazard.nugget).addFire(5).toItem().setUnlocalizedName("nugget_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_co60");
nugget_au198 = new ItemHazard().addRadiation(ItemHazard.au198 * ItemHazard.nugget).addFire(15).toItem().setUnlocalizedName("nugget_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_au198");
nugget_ra226 = new ItemHazard().addRadiation(ItemHazard.ra226 * ItemHazard.nugget).toItem().setUnlocalizedName("nugget_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_ra226");
plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_titanium");
plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_aluminium");
wire_red_copper = new Item().setUnlocalizedName("wire_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_red_copper");
@ -3018,6 +3023,7 @@ public class ModItems {
fabsols_vodka = new ItemModRevive(9999).setUnlocalizedName("fabsols_vodka").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fabsols_vodka");
injector_5htp = new ItemModAuto().setUnlocalizedName("injector_5htp").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":injector_5htp");
injector_knife = new ItemModAuto().setUnlocalizedName("injector_knife").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":injector_knife");
medal_liquidator = new ItemModMedal().setUnlocalizedName("medal_liquidator").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":medal_liquidator");
can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty");
can_smart = new ItemEnergy().setUnlocalizedName("can_smart").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_smart");
@ -3041,6 +3047,8 @@ public class ModItems {
bottle2_fritz_special = new ItemEnergy().setUnlocalizedName("bottle2_fritz_special").setContainerItem(ModItems.bottle2_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle2_fritz");
bottle2_sunset = new ItemEnergy().setUnlocalizedName("bottle2_sunset").setContainerItem(ModItems.bottle2_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle2_sunset");
chocolate_milk = new ItemEnergy().setUnlocalizedName("chocolate_milk").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chocolate_milk");
coffee = new ItemEnergy().setUnlocalizedName("coffee").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coffee");
coffee_radium = new ItemEnergy().setUnlocalizedName("coffee_radium").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coffee_radium");
cap_nuka = new Item().setUnlocalizedName("cap_nuka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_nuka");
cap_quantum = new Item().setUnlocalizedName("cap_quantum").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_quantum");
cap_sparkle = new Item().setUnlocalizedName("cap_sparkle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_sparkle");
@ -3084,7 +3092,7 @@ public class ModItems {
coin_radiation = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_radiation").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_radiation");
coin_maskman = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_maskman").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_maskman");
coin_worm = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_worm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_worm");
medal_liquidator = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("medal_liquidator").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":medal_liquidator");
coin_ufo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_ufo").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_ufo");
recycled_ground = new Item().setUnlocalizedName("recycled_ground").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_ground");
recycled_rock = new Item().setUnlocalizedName("recycled_rock").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_rock");
@ -3213,37 +3221,38 @@ public class ModItems {
rbmk_fuel_empty = new Item().setUnlocalizedName("rbmk_fuel_empty").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_fuel_empty");
rbmk_fuel_ueu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ueu)
.setYield(100000000D)
.setStats(10)
.setStats(75)
.setMeltingPoint(2865)
.addRadiation(ItemHazard.u * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_ueu").setTextureName(RefStrings.MODID + ":rbmk_fuel_ueu");
rbmk_fuel_meu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_meu)
.setYield(100000000D)
.setStats(100)
.setStats(150)
.setMeltingPoint(2865)
.addRadiation(ItemHazard.uf * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_meu").setTextureName(RefStrings.MODID + ":rbmk_fuel_meu");
rbmk_fuel_thmeu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_thmeu)
.setYield(100000000D)
.setStats(50)
.setStats(75)
.setMeltingPoint(3350)
.addRadiation(ItemHazard.thf * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_thmeu").setTextureName(RefStrings.MODID + ":rbmk_fuel_thmeu");
rbmk_fuel_lep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lep)
.setYield(100000000D)
.setStats(120)
.setStats(200)
.setMeltingPoint(2744)
.addRadiation(ItemHazard.puf * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_lep").setTextureName(RefStrings.MODID + ":rbmk_fuel_lep");
rbmk_fuel_mep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mep)
.setYield(100000000D)
.setStats(150, 20)
.setStats(215, 20)
.setHeat(1.25D)
.setMeltingPoint(2744)
.addRadiation(ItemHazard.purg * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_mep").setTextureName(RefStrings.MODID + ":rbmk_fuel_mep");
rbmk_fuel_men = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_men)
.setYield(100000000D)
.setStats(130)
.setStats(175)
.setMeltingPoint(2800)
.setNeutronTypes(NType.FAST, NType.FAST)
.addRadiation(ItemHazard.npf * ItemHazard.rod_rbmk).toItem()
@ -3251,44 +3260,54 @@ public class ModItems {
rbmk_fuel_mox = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mox)
.setYield(100000000D)
.setStats(130)
.setHeat(1.5D)
.setMeltingPoint(2815)
.addRadiation(ItemHazard.mox * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_mox").setTextureName(RefStrings.MODID + ":rbmk_fuel_mox");
rbmk_fuel_les = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_les)
.setYield(100000000D)
.setStats(150)
.setHeat(1.25D)
.setMeltingPoint(2500)
.addRadiation(ItemHazard.saf * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_les").setTextureName(RefStrings.MODID + ":rbmk_fuel_les");
rbmk_fuel_mes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mes)
.setYield(100000000D)
.setStats(200)
.setHeat(1.5D)
.setMeltingPoint(2750)
.addRadiation(ItemHazard.saf * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_mes").setTextureName(RefStrings.MODID + ":rbmk_fuel_mes");
rbmk_fuel_hes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hes)
.setYield(100000000D)
.setStats(250)
.setHeat(1.75D)
.setMeltingPoint(3000)
.addRadiation(ItemHazard.saf * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_hes").setTextureName(RefStrings.MODID + ":rbmk_fuel_hes");
rbmk_fuel_leaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_leaus)
.setYield(100000000D)
.setHeat(1.5D)
.setMeltingPoint(7029)
.setStats(100).setUnlocalizedName("rbmk_fuel_leaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_leaus");
rbmk_fuel_heaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heaus)
.setYield(100000000D)
.setHeat(2D)
.setMeltingPoint(5211)
.setStats(100).setUnlocalizedName("rbmk_fuel_heaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_heaus");
rbmk_fuel_po210be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_po210be)
.setYield(100000000D)
.setStats(70, 50)
.setHeat(0.5D)
.setDiffusion(0.2D)
.setMeltingPoint(1287)
.addRadiation(ItemHazard.pobe * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_po210be").setTextureName(RefStrings.MODID + ":rbmk_fuel_po210be");
rbmk_fuel_pu238be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_pu238be)
.setYield(100000000D)
.setStats(60, 35)
.setHeat(0.5D)
.setDiffusion(0.2D)
.setMeltingPoint(1287)
.addRadiation(ItemHazard.pube * ItemHazard.rod_rbmk).toItem()
.setUnlocalizedName("rbmk_fuel_pu238be").setTextureName(RefStrings.MODID + ":rbmk_fuel_pu238be");
@ -3301,12 +3320,14 @@ public class ModItems {
rbmk_fuel_balefire = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_balefire)
.setYield(100000000D)
.setStats(300, 35)
.setHeat(3D)
.setMeltingPoint(3652)
.addRadiation(800000F).toItem()
.setUnlocalizedName("rbmk_fuel_balefire").setTextureName(RefStrings.MODID + ":rbmk_fuel_balefire");
rbmk_fuel_drx = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_drx)
.setYield(1000000D)
.setStats(10000)
.setHeat(0.1D)
.setMeltingPoint(100000)
.addDigamma(0.1F).toItem().setUnlocalizedName("rbmk_fuel_drx").setTextureName(RefStrings.MODID + ":rbmk_fuel_drx");
@ -5234,6 +5255,7 @@ public class ModItems {
GameRegistry.registerItem(nugget_polonium, nugget_polonium.getUnlocalizedName());
GameRegistry.registerItem(nugget_co60, nugget_co60.getUnlocalizedName());
GameRegistry.registerItem(nugget_au198, nugget_au198.getUnlocalizedName());
GameRegistry.registerItem(nugget_ra226, nugget_ra226.getUnlocalizedName());
GameRegistry.registerItem(nugget_lead, nugget_lead.getUnlocalizedName());
GameRegistry.registerItem(nugget_beryllium, nugget_beryllium.getUnlocalizedName());
GameRegistry.registerItem(nugget_schrabidium, nugget_schrabidium.getUnlocalizedName());
@ -6038,6 +6060,7 @@ public class ModItems {
//Spawners
GameRegistry.registerItem(spawn_chopper, spawn_chopper.getUnlocalizedName());
GameRegistry.registerItem(spawn_worm, spawn_worm.getUnlocalizedName());
GameRegistry.registerItem(spawn_ufo, spawn_ufo.getUnlocalizedName());
//Computer Tools
GameRegistry.registerItem(designator, designator.getUnlocalizedName());
@ -6778,6 +6801,10 @@ public class ModItems {
GameRegistry.registerItem(can_bepis, can_bepis.getUnlocalizedName());
GameRegistry.registerItem(can_breen, can_breen.getUnlocalizedName());
//Coffee
GameRegistry.registerItem(coffee, coffee.getUnlocalizedName());
GameRegistry.registerItem(coffee_radium, coffee_radium.getUnlocalizedName());
//Cola
GameRegistry.registerItem(bottle_empty, bottle_empty.getUnlocalizedName());
GameRegistry.registerItem(bottle_nuka, bottle_nuka.getUnlocalizedName());
@ -6837,6 +6864,7 @@ public class ModItems {
GameRegistry.registerItem(coin_radiation,coin_radiation.getUnlocalizedName());
GameRegistry.registerItem(coin_maskman, coin_maskman.getUnlocalizedName());
GameRegistry.registerItem(coin_worm, coin_worm.getUnlocalizedName());
GameRegistry.registerItem(coin_ufo, coin_ufo.getUnlocalizedName());
GameRegistry.registerItem(medal_liquidator, medal_liquidator.getUnlocalizedName());
//Chaos

View File

@ -0,0 +1,39 @@
package com.hbm.items.armor;
import java.util.List;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.ArmorModHandler;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemModMedal extends ItemArmorMod {
public ItemModMedal() {
super(ArmorModHandler.extra, false, true, false, false);
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.GOLD + "-10 RAD/s");
super.addInformation(stack, player, list, bool);
}
@Override
public void addDesc(List list, ItemStack stack, ItemStack armor) {
list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (-10 RAD/s)");
}
@Override
public void modUpdate(EntityLivingBase entity, ItemStack armor) {
if(!entity.worldObj.isRemote) {
float rad = HbmLivingProps.getRadiation(entity);
rad -= 0.5F;
HbmLivingProps.setRadiation(entity, Math.max(rad, 0));
}
}
}

View File

@ -46,5 +46,4 @@ public class ItemModRevive extends ItemArmorMod {
list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (" + (stack.getMaxDamage() - stack.getItemDamage()) + " revives left)");
}
}

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.config.VersatileConfig;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.util.ContaminationUtil;
@ -147,6 +148,16 @@ public class ItemEnergy extends Item {
player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60 * 20, 2));
player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 60 * 20, 2));
}
if(this == ModItems.coffee) {
player.heal(10);
player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 2));
}
if(this == ModItems.coffee_radium) {
player.heal(10);
player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 2));
HbmLivingProps.incrementRadiation(player, 500F);
player.triggerAchievement(MainRegistry.achRadium);
}
}
if(!player.capabilities.isCreativeMode && this != ModItems.chocolate_milk) {
@ -247,7 +258,10 @@ public class ItemEnergy extends Item {
if(VersatileConfig.hasPotionSickness(p_77659_3_))
return p_77659_1_;
if(!(this == ModItems.can_creature || this == ModItems.can_mrsugar || this == ModItems.can_overcharge || this == ModItems.can_redbomb || this == ModItems.can_smart || this == ModItems.chocolate_milk || this == ModItems.can_luna || this == ModItems.can_bepis || this == ModItems.can_breen))
if(!(this == ModItems.can_creature || this == ModItems.can_mrsugar || this == ModItems.can_overcharge ||
this == ModItems.can_redbomb || this == ModItems.can_smart || this == ModItems.chocolate_milk ||
this == ModItems.can_luna || this == ModItems.can_bepis || this == ModItems.can_breen ||
this == ModItems.coffee || this == ModItems.coffee_radium))
if(!p_77659_3_.inventory.hasItem(ModItems.bottle_opener))
return p_77659_1_;

View File

@ -31,7 +31,7 @@ public class ItemRBMKRod extends Item implements IItemHazard {
public double heat = 1D; //heat produced per outFlux
public double yield; //total potential inFlux the rod can take in its lifetime
public double meltingPoint = 1000D; //the maximum heat of the rod's hull before shit hits the fan. the core can be as hot as it wants to be
public double diffusion = 1D; //the speed at which the core heats the hull
public double diffusion = 0.02D; //the speed at which the core heats the hull
public NType nType = NType.SLOW; //neutronType, the most efficient neutron type for fission
public NType rType = NType.FAST; //releaseType, the type of neutrons released by this fuel
@ -85,6 +85,16 @@ public class ItemRBMKRod extends Item implements IItemHazard {
return this;
}
public ItemRBMKRod setHeat(double heat) {
this.heat = heat;
return this;
}
public ItemRBMKRod setDiffusion(double diffusion) {
this.diffusion = diffusion;
return this;
}
public ItemRBMKRod setMeltingPoint(double meltingPoint) {
this.meltingPoint = meltingPoint;
return this;
@ -133,14 +143,6 @@ public class ItemRBMKRod extends Item implements IItemHazard {
double coreHeat = this.getCoreHeat(stack);
coreHeat += outFlux * heat;
this.setCoreHeat(stack, coreHeat);
/*System.out.println("=== FUEL SUMMARY REPORT ===");
System.out.println("I AM " + this.getUnlocalizedName());
System.out.println("I RECEIVE " + inFlux);
System.out.println("I HAVE " + xenon);
System.out.println("I CREATE " + outFlux);
System.out.println("I YIELD " + y);
System.out.println("=== END OF REPORT ===");*/
return outFlux;
}
@ -205,6 +207,7 @@ public class ItemRBMKRod extends Item implements IItemHazard {
*/
public double reactivityFunc(double flux) {
return Math.log10(flux + 1) * funcEnd * 0.1D;
//TODO: alternate functions for NU and THMEU, peaking at 25%
}
/**

View File

@ -110,8 +110,11 @@ public class ItemChopper extends Item {
if(this == ModItems.spawn_worm)
entity = new EntityBOTPrimeHead(world);
if(this == ModItems.spawn_ufo)
if(this == ModItems.spawn_ufo) {
entity = new EntityUFO(world);
((EntityUFO)entity).scanCooldown = 100;
y += 35;
}
if(entity != null) {

View File

@ -21,6 +21,7 @@ public class ItemHazard extends ItemCustomLore implements IItemHazard {
//AU192 64h α 500.00Rad/s 2 much spice :(
//AT209 5h α like 2k or sth idk bruv
//PO210 138d α 075.00Rad/s Spicy
//RA226 1,600a α 010.00Rad/s
//TH232 14,000,000,000a α 000.10Rad/s
//U233 160,000a α 005.00Rad/s
//U235 700,000,000a α 001.00Rad/s
@ -37,6 +38,7 @@ public class ItemHazard extends ItemCustomLore implements IItemHazard {
public static final float au198 = 500.0F;
public static final float at209 = 2000.0F;
public static final float po210 = 75.0F;
public static final float ra226 = 10.0F;
public static final float th232 = 0.1F;
public static final float thf = 1.75F;
public static final float u = 0.35F;

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (3878)";
public static final String VERSION = "1.0.27 BETA (3879)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -100,6 +100,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltW.class, new RenderDecoBlockAlt());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltF.class, new RenderDecoBlockAlt());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp());
//bombs
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy());
@ -305,9 +306,9 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_silver, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_red, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_dampfmaschine, new ItemRenderBullshit());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_sonata, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderGunAnim());
@ -1159,6 +1160,13 @@ public class ClientProxy extends ServerProxy {
Minecraft.getMinecraft().effectRenderer.addEffect(cloud);
}
if("plasmablast".equals(type)) {
ParticlePlasmaBlast cloud = new ParticlePlasmaBlast(man, world, x, y, z, data.getFloat("r"), data.getFloat("g"), data.getFloat("b"), data.getFloat("pitch"), data.getFloat("yaw"));
cloud.setScale(data.getFloat("scale"));
Minecraft.getMinecraft().effectRenderer.addEffect(cloud);
}
if("justTilt".equals(type)) {
player.hurtTime = player.maxHurtTime = data.getInteger("time");

View File

@ -698,8 +698,9 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_armor_lunar, 1), new Object[] { "NPN", "PIP", "NPN", 'N', ModItems.wire_magnetized_tungsten, 'P', "plateDenseLead", 'I', ModItems.ingot_starmetal }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_armor_fau, 1), new Object[] { "MDM", "DYD", "MDM", 'M', ModItems.ingot_meteorite_forged, 'D', "ingotDesh", 'Y', ModItems.billet_yharonite }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_armor_dnt, 1), new Object[] { "FDF", "DSD", "FDF", 'F', ModItems.plate_armor_fau, 'D', ModItems.plate_dineutronium, 'S', ModItems.particle_sparkticle }));
GameRegistry.addRecipe(new ItemStack(ModItems.mech_key, 1), new Object[] { "MCM", "MKM", "MMM", 'M', ModItems.ingot_meteorite_forged, 'C', ModItems.coin_maskman, 'K', ModItems.key });
GameRegistry.addRecipe(new ItemStack(ModItems.spawn_ufo, 1), new Object[] { "MMM", "DCD", "MMM", 'M', ModItems.ingot_meteorite, 'D', ModItems.ingot_dineutronium, 'C', ModItems.coin_worm });
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_coil_alloy, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ModItems.wire_advanced_alloy, 'C', ModBlocks.fusion_conductor });
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_coil_gold, 1), new Object[] { "GGG", "GCG", "GGG", 'G', ModItems.coil_gold, 'C', ModBlocks.hadron_coil_alloy });

View File

@ -180,6 +180,7 @@ public class MainRegistry {
public static Achievement achStratum;
public static Achievement achMeltdown;
public static Achievement achOmega12;
public static Achievement achRadium;
public static Achievement bobMetalworks;
public static Achievement bobAssembly;
public static Achievement bobChemistry;
@ -193,6 +194,7 @@ public class MainRegistry {
public static Achievement bossMeltdown;
public static Achievement bossMaskman;
public static Achievement bossWorm;
public static Achievement bossUFO;
public static Achievement digammaSee;
public static Achievement digammaFeel;
public static Achievement digammaKnow;
@ -463,6 +465,7 @@ public class MainRegistry {
GameRegistry.registerTileEntity(TileEntityTurretHoward.class, "tileentity_turret_howard");
GameRegistry.registerTileEntity(TileEntitySILEX.class, "tileentity_silex");
GameRegistry.registerTileEntity(TileEntityFEL.class, "tileentity_fel");
GameRegistry.registerTileEntity(TileEntityDemonLamp.class, "tileentity_demonlamp");
GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod");
GameRegistry.registerTileEntity(TileEntityRBMKControlManual.class, "tileentity_rbmk_control");
@ -626,6 +629,7 @@ public class MainRegistry {
EntityRegistry.registerModEntity(EntityBOTPrimeBody.class, "entity_balls_o_tron_seg", 152, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityBlockSpider.class, "entity_taintcrawler", 153, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityRBMKDebris.class, "entity_rbmk_debris", 154, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityUFO.class, "entity_ntm_ufo", 155, this, 1000, 1, true);
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
@ -638,7 +642,6 @@ public class MainRegistry {
EntityRegistry.registerGlobalEntityID(EntityQuackos.class, "entity_elder_one", EntityRegistry.findGlobalUniqueEntityId(), 0xd0d0d0, 0xFFBF00);
EntityRegistry.registerGlobalEntityID(EntityFBI.class, "entity_ntm_fbi", EntityRegistry.findGlobalUniqueEntityId(), 0x008000, 0x404040);
EntityRegistry.registerGlobalEntityID(EntityRADBeast.class, "entity_ntm_radiation_blaze", EntityRegistry.findGlobalUniqueEntityId(), 0x303030, 0x008000);
EntityRegistry.registerGlobalEntityID(EntityUFO.class, "entity_ntm_ufo", EntityRegistry.findGlobalUniqueEntityId(), 0x303030, 0x2D722D);
ForgeChunkManager.setForcedChunkLoadingCallback(this, new LoadingCallback() {
@ -926,6 +929,7 @@ public class MainRegistry {
achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat();
achMeltdown = new Achievement("achievement.meltdown", "meltdown", -4, 0, new ItemStack(ModBlocks.iter), null).initIndependentStat().setSpecial().registerStat();
achOmega12 = new Achievement("achievement.omega12", "omega12", -4, 2, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat();
achRadium = new Achievement("achievement.radium", "radium", 0, 2, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat();
bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 2, ModItems.bob_metalworks, null).initIndependentStat().registerStat();
bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 2, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat();
@ -942,6 +946,7 @@ public class MainRegistry {
bossMeltdown = new Achievement("achievement.bossMeltdown", "bossMeltdown", 9, -1, ModItems.coin_radiation, bossCreeper).initIndependentStat().registerStat();
bossMaskman = new Achievement("achievement.bossMaskman", "bossMaskman", 9, 1, ModItems.coin_maskman, bossCreeper).initIndependentStat().registerStat();
bossWorm = new Achievement("achievement.bossWorm", "bossWorm", 11, 1, ModItems.coin_worm, bossMaskman).initIndependentStat().registerStat().setSpecial();
bossUFO = new Achievement("achievement.bossUFO", "bossUFO", 13, 1, ModItems.coin_ufo, bossWorm).initIndependentStat().registerStat().setSpecial();
achRadPoison = new Achievement("achievement.radPoison", "radPoison", -2, 6, ModItems.geiger_counter, null).initIndependentStat().registerStat();
achRadDeath = new Achievement("achievement.radDeath", "radDeath", 0, 6, Items.skull, achRadPoison).initIndependentStat().registerStat().setSpecial();
@ -969,6 +974,7 @@ public class MainRegistry {
achStratum,
achMeltdown,
achOmega12,
achRadium,
bobMetalworks,
bobAssembly,
bobChemistry,
@ -984,6 +990,7 @@ public class MainRegistry {
bossMeltdown,
bossMaskman,
bossWorm,
bossUFO,
digammaSee,
digammaFeel,
digammaKnow,

View File

@ -526,6 +526,7 @@ public class ResourceManager {
public static final IModelCustom thompson = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/thompson.obj"));
public static final IModelCustom bolter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bolter.obj"));
public static final IModelCustom ff_python = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/python.obj"));
public static final IModelCustom ff_maresleg = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/maresleg.obj"));
public static final IModelCustom fireext = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/fireext.obj"));
public static final IModelCustom grenade_frag = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/grenade_frag.obj"));

View File

@ -0,0 +1,88 @@
package com.hbm.particle;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
@SideOnly(Side.CLIENT)
public class ParticlePlasmaBlast extends EntityFX {
private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/shockwave.png");
private TextureManager theRenderEngine;
public ParticlePlasmaBlast(TextureManager texman, World world, double x, double y, double z, float r, float g, float b, float pitch, float yaw) {
super(world, x, y, z);
this.theRenderEngine = texman;
this.particleMaxAge = 20;
this.particleRed = r;
this.particleGreen = g;
this.particleBlue = b;
this.rotationPitch = pitch;
this.rotationYaw = yaw;
}
public void setMaxAge(int maxAge) {
this.particleMaxAge = maxAge;
}
public void setScale(float scale) {
this.particleScale = scale;
}
public int getFXLayer() {
return 3;
}
public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) {
this.theRenderEngine.bindTexture(texture);
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND);
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
GL11.glDepthMask(false);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glDisable(GL11.GL_CULL_FACE);
RenderHelper.disableStandardItemLighting();
float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double)interp - interpPosX);
float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double)interp - interpPosY);
float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double)interp - interpPosZ);
GL11.glTranslatef(pX, pY, pZ);
GL11.glRotated(this.rotationYaw, 0, 1, 0);
GL11.glRotated(this.rotationPitch, 1, 0, 0);
tess.startDrawingQuads();
tess.setNormal(0.0F, 1.0F, 0.0F);
tess.setBrightness(240);
this.particleAlpha = 1 - (((float)this.particleAge + interp) / (float)this.particleMaxAge);
float scale = (1 - (float)Math.pow(Math.E, (this.particleAge + interp) * -0.125)) * this.particleScale;
tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha);
tess.addVertexWithUV((double)(- 1 * scale), (double)(- 0.25), (double)(- 1 * scale), 1, 1);
tess.addVertexWithUV((double)(- 1 * scale), (double)(- 0.25), (double)(+ 1 * scale), 1, 0);
tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(+ 1 * scale), 0, 0);
tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(- 1 * scale), 0, 1);
tess.draw();
GL11.glPolygonOffset(0.0F, 0.0F);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}

View File

@ -6,6 +6,7 @@ import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import com.hbm.render.tileentity.RenderDemonLamp;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
@ -938,6 +939,18 @@ public class ItemRenderLibrary {
ResourceManager.rbmk_console.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}});
renderers.put(Item.getItemFromBlock(ModBlocks.lamp_demon), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -3, 0);
GL11.glScaled(8, 8, 8);
}
public void renderCommon() {
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(RenderDemonLamp.tex);
RenderDemonLamp.demon_lamp.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}});
}
private static void bindTexture(ResourceLocation res) {

View File

@ -0,0 +1,119 @@
package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
public class ItemRenderWeaponFFMaresLeg implements IItemRenderer {
ResourceLocation main;
ResourceLocation grip;
public ItemRenderWeaponFFMaresLeg(ResourceLocation main, ResourceLocation grip) {
this.main = main;
this.grip = grip;
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
case ENTITY:
case INVENTORY:
return true;
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING);
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
double lever = 0;
switch(type) {
case EQUIPPED_FIRST_PERSON:
double s0 = 1.25D;
GL11.glTranslated(0.75, 0.5, 0);
GL11.glScaled(s0, s0, s0);
GL11.glRotated(100, 0, -1, 0);
GL11.glRotated(-5, 0, 1, 0);
GL11.glRotated(20, 1, 0, 0);
double[] recoil = HbmAnimations.getRelevantTransformation("LEVER_RECOIL");
GL11.glTranslated(0, 0, recoil[0] * 0.5);
double[] rotation = HbmAnimations.getRelevantTransformation("LEVER_ROTATE");
lever = rotation[2];
GL11.glTranslated(0, 0, 0.5);
GL11.glRotated(Math.min(lever, 30), 1, 0, 0);
GL11.glTranslated(0, 0, -0.5);
break;
case EQUIPPED:
double scale = 1.25D;
GL11.glRotated(195, 0, 1, 0);
GL11.glRotated(-10, 0, 0, 1);
GL11.glRotated(-10, 1, 0, 0);
GL11.glTranslated(-0.45, 0.1, -0.5);
GL11.glScaled(scale, scale, scale);
break;
case ENTITY:
double s1 = 1D;
GL11.glScaled(s1, s1, s1);
GL11.glRotated(90, 0, 1, 0);
break;
case INVENTORY:
GL11.glEnable(GL11.GL_LIGHTING);
double s = 9D;
GL11.glTranslated(8, 9, 0);
GL11.glRotated(-135, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
GL11.glScaled(s, s, -s);
break;
default: break;
}
Minecraft.getMinecraft().renderEngine.bindTexture(grip);
ResourceManager.ff_maresleg.renderPart("Grip");
Minecraft.getMinecraft().renderEngine.bindTexture(main);
ResourceManager.ff_maresleg.renderPart("Gun");
GL11.glTranslated(0, 0.1, 0.25);
GL11.glRotated(lever * 1.5, 1, 0, 0);
GL11.glTranslated(0, -0.1, -0.25);
ResourceManager.ff_maresleg.renderPart("Lever");
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,79 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import com.hbm.render.loader.HFRWavefrontObject;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
import net.minecraftforge.client.model.IModelCustom;
public class RenderDemonLamp extends TileEntitySpecialRenderer {
public static final IModelCustom demon_lamp = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/demon_lamp.obj"));
public static final ResourceLocation tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/demon_lamp.png");
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(tex);
demon_lamp.renderAll();
Tessellator tess = Tessellator.instance;
tess.startDrawingQuads();
Vec3 vec = Vec3.createVectorHelper(1, 0, 0);
GL11.glDepthMask(false);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glAlphaFunc(GL11.GL_GREATER, 0.0F);
double near = 0.375D;
double far = 15D;
//whereeeeeeever you are
for(int j = 0; j < 2; j++) {
double h = 0.5;
double height = j == 0 ? -h : h;
for(int i = 0; i < 16; i++) {
tess.setColorRGBA_F(0F, 0.75F, 1F, 0.25F);
tess.addVertex(vec.xCoord * near, 0.5D + j * 0.125D, vec.zCoord * near);
tess.setColorRGBA_F(0F, 0.75F, 1F, 0F);
tess.addVertex(vec.xCoord * far, 0.5D + j * 0.125D + height, vec.zCoord * far);
vec.rotateAroundY((float)Math.PI * 2F / 16F);
tess.addVertex(vec.xCoord * far, 0.5D + j * 0.125D + height, vec.zCoord * far);
tess.setColorRGBA_F(0F, 0.75F, 1F, 0.25F);
tess.addVertex(vec.xCoord * near, 0.5D + j * 0.125D, vec.zCoord * near);
}
}
tess.draw();
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glDepthMask(true);
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,77 @@
package com.hbm.tileentity.machine;
import java.util.List;
import com.hbm.util.ContaminationUtil;
import com.hbm.util.ContaminationUtil.ContaminationType;
import com.hbm.util.ContaminationUtil.HazardType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class TileEntityDemonLamp extends TileEntity {
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
radiate(worldObj, xCoord, yCoord, zCoord);
}
}
private void radiate(World world, int x, int y, int z) {
float rads = 100000F;
double range = 25D;
List<EntityLivingBase> entities = world.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x + 0.5, y + 0.5, z + 0.5, x + 0.5, y + 0.5, z + 0.5).expand(range, range, range));
for(EntityLivingBase e : entities) {
Vec3 vec = Vec3.createVectorHelper(e.posX - (x + 0.5), (e.posY + e.getEyeHeight()) - (y + 0.5), e.posZ - (z + 0.5));
double len = vec.lengthVector();
vec = vec.normalize();
float res = 0;
for(int i = 1; i < len; i++) {
int ix = (int)Math.floor(x + 0.5 + vec.xCoord * i);
int iy = (int)Math.floor(y + 0.5 + vec.yCoord * i);
int iz = (int)Math.floor(z + 0.5 + vec.zCoord * i);
res += world.getBlock(ix, iy, iz).getExplosionResistance(null);
}
if(res < 1)
res = 1;
float eRads = rads;
eRads /= (float)res;
eRads /= (float)(len * len);
ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, eRads);
if(len < 2) {
e.attackEntityFrom(DamageSource.inFire, 100);
}
}
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -23,7 +23,7 @@ public class RBMKDials {
if(!rules.getGameRuleBooleanValue(KEY_SAVE_DIALS)) {
rules.setOrCreateGameRule(KEY_PASSIVE_COOLING, "1.0");
rules.setOrCreateGameRule(KEY_COLUMN_HEAT_FLOW, "0.2");
rules.setOrCreateGameRule(KEY_FUEL_DIFFUSION_MOD, "0.02");
rules.setOrCreateGameRule(KEY_FUEL_DIFFUSION_MOD, "1.0");
rules.setOrCreateGameRule(KEY_HEAT_PROVISION, "0.2");
rules.setOrCreateGameRule(KEY_COLUMN_HEIGHT, "4");
rules.setOrCreateGameRule(KEY_PERMANENT_SCRAP, "false");

View File

@ -10,6 +10,8 @@ achievement.bossMeltdown.desc=Mehr schlecht als recht, aber was will man machen.
achievement.bossMeltdown=3,6 Röntgen
achievement.bossWorm.desc=Der Fabstaff. Mein Arsch. Jetzt fang an zu rechnen.
achievement.bossWorm=Disassembling Balls-O-Tron
achievement.bossUFO.desc=Yo, what do we have here? A huge spacecraft pulling up to the bloockship?
achievement.bossUFO=Ayy Lmao
achievement.c20_5.desc=???
achievement.c20_5=Kapitel [ZWANZIG KOMMA FÜNF]
achievement.c44.desc=Galvanisch verzinkt! ...das macht in der Übersetzung sowas von keinen Sinn.
@ -24,8 +26,8 @@ achievement.digammaKnow.desc=what this world is about.
achievement.digammaKnow=The Terror of Knowing
achievement.digammaSee.desc=into the abyss.
achievement.digammaSee=The Terror of Seeing
achievement.diigammaUpOnTop.desc=Fürchtenichts, eisenbeschlagen.
achievement.diigammaUpOnTop=An der Spitze
achievement.digammaUpOnTop.desc=Ich tu was ich will, verantwortungslos.
achievement.digammaUpOnTop=Bewundere mich, bewundere mein Heim
achievement.fiend.desc=Sei gemein.
achievement.fiend2.desc=Sei gemeiner.
achievement.fiend2=Unhold 2: Noch unholdiger
@ -56,6 +58,8 @@ achievement.potato.desc=Du stichst mich! Was soll denn das?
achievement.potato=Machtgeile KI
achievement.radDeath.desc=Marie Curie entdeckte den Nutzen der radioaktiven Strahlung, sowie den Tod durch radioaktive Strahlung.
achievement.radDeath=Au, Strahlung!
achievement.radium.desc=SIE SIND GEFEUERT WEIL SIE RADIUM IN MEINEN KAFFEE GESCHÜTTET HABEN
achievement.radium=MISTER UNGLAUBLICH
achievement.radPoison.desc=Leide an Strahlenkrankheit.
achievement.radPoison=Yay, Strahlung!
achievement.sacrifice.desc=Sterbe im Feuer, aber irgendwie auch nicht.
@ -325,7 +329,7 @@ entity.entity_elder_one.name=Quackos der Älteste
entity.entity_fucc_a_ducc.name=Ente
entity.entity_ntm_fbi.name=FBI Agent
entity.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar
entity.entity_ntm_ufo.name=Marsianisches Invasionsschiff
entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff
entity.entity_mob_hunter_chopper.name=Jagdschrauber
entity.entity_mob_mask_man.name=Maskenmann
entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper
@ -948,6 +952,8 @@ item.cobalt_pickaxe.name=Kobaltspitzhacke
item.cobalt_plate.name=Kobaltbrustpanzer
item.cobalt_shovel.name=Kobaltschaufel
item.cobalt_sword.name=Kobaltschwert
item.coffee.name=Kaffee
item.coffee_radium.name=Radiumkaffee
item.coil_advanced_alloy.name=Supraleitende Magnetspule
item.coil_advanced_torus.name=Supraleitende Ringspule
item.coil_copper.name=Kupferspule
@ -959,6 +965,7 @@ item.coil_tungsten.name=Heizspirale
item.coin_creeper.name=Nukleare Creeper-Münze
item.coin_maskman.name=Maskenmann-Münze
item.coin_radiation.name=Strahlungs-Münze
item.coin_ufo.name=UFO-Münze
item.coin_worm.name=Balls-O-Tron-Münze
item.coke.name=Koks
item.combine_scrap.name=CMB Schrott
@ -1720,6 +1727,7 @@ item.nugget_pu_mix.name=Reactorfähiges Plutoniumnugget
item.nugget_pu238.name=Pu238-Nugget
item.nugget_pu239.name=Pu239-Nugget
item.nugget_pu240.name=Pu240-Nugget
item.nugget_ra226.name=Radium-226-Nugget
item.nugget_reiium.name=Reiiumnugget
item.nugget_schrabidium.name=Schrabidiumnugget
item.nugget_schrabidium_fuel.name=Schrabidiumkernbrennstoffnugget
@ -2161,6 +2169,7 @@ item.solinium_igniter.name=SOL-Impulszünder
item.solinium_kit.name=Solinium Kit
item.solinium_propellant.name=SOL-Verdichtungsladung
item.sopsign.name=Sopschild-Streitaxt
item.spawn_ufo.name=Marsianisches Invasionsschiff
item.spawn_worm.name=Balls-O-Tron Prime
item.sphere_steel.name=Stahlhohlkugel
item.spider_milk.name=Spinnenmilch
@ -2704,6 +2713,7 @@ tile.ladder_steel.name=Stahlleiter
tile.ladder_sturdy.name=Feste Holzleiter
tile.ladder_titanium.name=Titanleiter
tile.ladder_tungsten.name=Wolframleiter
tile.lamp_demon.name=Dämonenkernlampe
tile.lamp_tritium_blue_off.name=Blaue Tritiumlampe
tile.lamp_tritium_blue_on.name=Blaue Tritiumlampe
tile.lamp_tritium_green_off.name=Grüne Tritiumlampe

View File

@ -10,6 +10,8 @@ achievement.bossMeltdown.desc=More terrible than great, but I take what I can ge
achievement.bossMeltdown=3.6 Roentgen
achievement.bossWorm.desc=The Fabstaff. My ass. You do the math.
achievement.bossWorm=Disassembling Balls-O-Tron
achievement.bossUFO.desc=Yo, what do we have here? A huge spacecraft pulling up to the bloockship?
achievement.bossUFO=Ayy Lmao
achievement.c20_5.desc=???
achievement.c20_5=Chapter [TWENTY POINT FIVE]
achievement.c44.desc=Galvanized! I mean, zinc!
@ -24,8 +26,8 @@ achievement.digammaKnow.desc=what this world is about.
achievement.digammaKnow=The Terror of Knowing
achievement.digammaSee.desc=into the abyss.
achievement.digammaSee=The Terror of Seeing
achievement.diigammaUpOnTop.desc=Dreadnought, iron-cladden.
achievement.diigammaUpOnTop=Up On Top
achievement.digammaUpOnTop.desc=I do what I want, but irresponsibly.
achievement.digammaUpOnTop=Admire Me, Admire my Home
achievement.fiend.desc=Be mean.
achievement.fiend2.desc=Be meaner.
achievement.fiend2=Delinquent 2: Delinquent Harder
@ -56,6 +58,8 @@ achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH
achievement.potato=Rogue AI
achievement.radDeath.desc=Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and dying of radioactivity.
achievement.radDeath=Ouch, Radiation!
achievement.radium.desc=YOU'RE FIRED FOR POURING RADIUM IN MY COFFEE!
achievement.radium=MISTER INCREDIBLE
achievement.radPoison.desc=Suffer the effects of radiation poisoning.
achievement.radPoison=Yay, Radiation!
achievement.sacrifice.desc=Face the fire and live.
@ -393,7 +397,7 @@ entity.entity_elder_one.name=Quackos The Elder One
entity.entity_fucc_a_ducc.name=Duck
entity.entity_ntm_fbi.name=FBI Agent
entity.entity_ntm_radiation_blaze.name=Meltdown Elemental
entity.entity_ntm_ufo.name=Martian Invasion Ship
entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship
entity.entity_mob_hunter_chopper.name=Hunter Chopper
entity.entity_mob_mask_man.name=Mask Man
entity.entity_mob_nuclear_creeper.name=Nuclear Creeper
@ -1016,6 +1020,8 @@ item.cobalt_pickaxe.name=Cobalt Pickaxe
item.cobalt_plate.name=Cobalt Chestplate
item.cobalt_shovel.name=Cobalt Shovel
item.cobalt_sword.name=Cobalt Sword
item.coffee.name=Coffee
item.coffee_radium.name=Radium Coffee
item.coil_advanced_alloy.name=Super Conducting Coil
item.coil_advanced_torus.name=Super Conducting Ring Coil
item.coil_copper.name=Copper Coil
@ -1027,6 +1033,7 @@ item.coil_tungsten.name=Heating Coil
item.coin_creeper.name=Nuclear Creeper Coin
item.coin_maskman.name=Maskman Coin
item.coin_radiation.name=Radiation Coin
item.coin_ufo.name=UFO Coin
item.coin_worm.name=Balls-O-Tron Coin
item.coke.name=Coke
item.combine_scrap.name=CMB Scrap Metal
@ -1788,6 +1795,7 @@ item.nugget_pu_mix.name=Reactor Grade Plutonium Nugget
item.nugget_pu238.name=Pu238 Nugget
item.nugget_pu239.name=Pu239 Nugget
item.nugget_pu240.name=Pu240 Nugget
item.nugget_ra226.name=Radium-226 Nugget
item.nugget_reiium.name=Reiium Nugget
item.nugget_schrabidium.name=Schrabidium Nugget
item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel
@ -2229,6 +2237,7 @@ item.solinium_igniter.name=SOL Pulse Igniter
item.solinium_kit.name=Solinium Kit
item.solinium_propellant.name=SOL Compression Charge
item.sopsign.name=Sop Sign Battle Axe
item.spawn_ufo.name=Martian Invasion Ship
item.spawn_worm.name=Balls-O-Tron Prime
item.sphere_steel.name=Steel Sphere
item.spider_milk.name=Bottle of Spider Milk
@ -2788,6 +2797,7 @@ tile.ladder_steel.name=Steel Ladder
tile.ladder_sturdy.name=Sturdy Wooden Ladder
tile.ladder_titanium.name=Titanium Ladder
tile.ladder_tungsten.name=Tungsten Ladder
tile.lamp_demon.name=Demon Core Lamp
tile.lamp_tritium_blue_off.name=Blue Tritium Lamp
tile.lamp_tritium_blue_on.name=Blue Tritium Lamp
tile.lamp_tritium_green_off.name=Green Tritium Lamp
@ -2921,7 +2931,7 @@ tile.ore_aluminium.name=Aluminium Ore
tile.ore_asbestos.name=Asbestos Ore
tile.ore_australium.name=Australian Ore
tile.ore_beryllium.name=Beryllium Ore
tile.ore_cinnebar.name=Cinnebar Ore
tile.ore_cinnebar.name=Cinnibar Ore
tile.ore_coal_oil.name=Oily Coal Ore
tile.ore_coal_oil_burning.name=Burning Oily Coal Ore
tile.ore_copper.name=Copper Ore

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -179,6 +179,8 @@
"entity.slicer": {"category": "neutral", "sounds": ["entity/slicer1", "entity/slicer2", "entity/slicer3", "entity/slicer4"]},
"entity.megaquacc": {"category": "hostile", "sounds": [{"name": "entity/megaquacc", "stream": false}]},
"entity.vomit": {"category": "player", "sounds": [{"name": "entity/vomit", "stream": false}]},
"entity.ufoBeam": {"category": "hostile", "sounds": [{"name": "entity/ufoBeamShort", "stream": false}]},
"entity.ufoBlast": {"category": "hostile", "sounds": [{"name": "entity/ufoBlast", "stream": false}]},
"step.metal": {"category": "player", "sounds": [{"name": "footsteps/metal", "stream": false}]},
"step.iron_jump": {"category": "player", "sounds": [{"name": "footsteps/iron_jump", "stream": false}]},

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 376 B

View File

@ -3,7 +3,7 @@
"modid": "hbm",
"name": "Hbm's Nuclear Tech",
"description": "A mod that adds weapons, nuclear themed stuff and machines",
"version":"1.0.27-3878",
"version":"1.0.27-3879",
"mcversion": "1.7.10",
"url": "",
"updateUrl": "",