and then the rest
@ -933,6 +933,7 @@ public class ModBlocks {
|
||||
public static final int guiID_fritz = 122;
|
||||
|
||||
public static Block rbmk_rod;
|
||||
public static Block rbmk_rod_reasim;
|
||||
public static Block rbmk_control;
|
||||
public static Block rbmk_control_auto;
|
||||
public static Block rbmk_blank;
|
||||
@ -1747,6 +1748,7 @@ public class ModBlocks {
|
||||
turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
rbmk_rod = new RBMKRod().setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element");
|
||||
rbmk_rod_reasim = new RBMKRodReaSim().setBlockName("rbmk_rod_reasim").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim");
|
||||
rbmk_control = new RBMKControl().setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control");
|
||||
rbmk_control_auto = new RBMKControlAuto().setBlockName("rbmk_control_auto").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_auto");
|
||||
rbmk_blank = new RBMKBlank().setBlockName("rbmk_blank").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank");
|
||||
@ -2509,6 +2511,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(hadron_core, hadron_core.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerBlock(rbmk_rod, rbmk_rod.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_rod_reasim, rbmk_rod_reasim.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_control, rbmk_control.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_control_auto, rbmk_control_auto.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_blank, rbmk_blank.getUnlocalizedName());
|
||||
|
||||
36
src/main/java/com/hbm/blocks/machine/rbmk/RBMKRodReaSim.java
Normal file
@ -0,0 +1,36 @@
|
||||
package com.hbm.blocks.machine.rbmk;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.BossSpawnHandler;
|
||||
import com.hbm.tileentity.TileEntityProxyInventory;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRodReaSim;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class RBMKRodReaSim extends RBMKBase {
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= this.offset)
|
||||
return new TileEntityRBMKRodReaSim();
|
||||
|
||||
if(hasExtra(meta))
|
||||
return new TileEntityProxyInventory();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
BossSpawnHandler.markFBI(player);
|
||||
return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_rod);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return this.renderIDRods;
|
||||
}
|
||||
}
|
||||
@ -161,6 +161,7 @@ public class RodRecipes {
|
||||
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_mox_fuel, ModItems.rbmk_fuel_mox);
|
||||
RecipesCommon.addRBMKRod(ModItems.billet_plutonium_fuel, ModItems.rbmk_fuel_lep);
|
||||
RecipesCommon.addRBMKRod(ModItems.billet_pu_mix, ModItems.rbmk_fuel_mep);
|
||||
RecipesCommon.addRBMKRod(ModItems.billet_pu239, ModItems.rbmk_fuel_hep239);
|
||||
|
||||
@ -122,6 +122,7 @@ public class ToolRecipes {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotAluminum", 'I', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rbmk_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotLead", 'I', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', "ingotPolymer", 'S', "plateSteel" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ModItems.ingot_advanced_alloy, 'C', ModItems.cinnebar, 'X', Items.compass });
|
||||
|
||||
//Bobmazon
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string });
|
||||
|
||||
@ -3,7 +3,9 @@ package com.hbm.entity.particle;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionNukeGeneric;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityOrangeFX extends EntityModFX {
|
||||
@ -75,10 +77,19 @@ public class EntityOrangeFX extends EntityModFX {
|
||||
if(worldObj.getBlock((int) posX, (int) posY, (int) posZ).getMaterial() != Material.air) {
|
||||
this.setDead();
|
||||
|
||||
for(int a = -1; a < 2; a++)
|
||||
for(int b = -1; b < 2; b++)
|
||||
for(int c = -1; c < 2; c++)
|
||||
ExplosionNukeGeneric.solinium(worldObj, (int) posX + a, (int) posY + b, (int) posZ + c);
|
||||
for(int a = -1; a < 2; a++) {
|
||||
for(int b = -1; b < 2; b++) {
|
||||
for(int c = -1; c < 2; c++) {
|
||||
|
||||
Block bl = worldObj.getBlock((int) posX + a, (int) posY + b, (int) posZ + c);
|
||||
if(bl == Blocks.grass) {
|
||||
worldObj.setBlock((int) posX + a, (int) posY + b, (int) posZ + c, Blocks.dirt, 1, 3);
|
||||
} else {
|
||||
ExplosionNukeGeneric.solinium(worldObj, (int) posX + a, (int) posY + b, (int) posZ + c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
package com.hbm.extprop;
|
||||
|
||||
import com.hbm.handler.HbmKeybinds.EnumKeybind;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.IExtendedEntityProperties;
|
||||
|
||||
@ -48,9 +50,19 @@ public class HbmPlayerProps implements IExtendedEntityProperties {
|
||||
|
||||
if(key == EnumKeybind.TOGGLE_JETPACK) {
|
||||
this.enableBackpack = !this.enableBackpack;
|
||||
|
||||
if(this.enableBackpack)
|
||||
MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "Jetpack ON");
|
||||
else
|
||||
MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Jetpack OFF");
|
||||
}
|
||||
if(key == EnumKeybind.TOGGLE_HEAD) {
|
||||
this.enableHUD = !this.enableHUD;
|
||||
|
||||
if(this.enableHUD)
|
||||
MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "HUD ON");
|
||||
else
|
||||
MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "HUD OFF");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1117,6 +1117,7 @@ public class ModItems {
|
||||
public static Item survey_scanner;
|
||||
public static Item mirror_tool;
|
||||
public static Item rbmk_tool;
|
||||
public static Item coltan_tool;
|
||||
|
||||
public static Item template_folder;
|
||||
public static Item journal_pip;
|
||||
@ -1744,6 +1745,7 @@ public class ModItems {
|
||||
public static Item battery_spark_cell_2500;
|
||||
public static Item battery_spark_cell_10000;
|
||||
public static Item battery_spark_cell_power;
|
||||
public static Item cube_power;
|
||||
|
||||
public static Item battery_su;
|
||||
public static Item battery_su_l;
|
||||
@ -4228,6 +4230,7 @@ public class ModItems {
|
||||
battery_spark_cell_2500 = new ItemBattery(100000000L * 2500L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500");
|
||||
battery_spark_cell_10000 = new ItemBattery(100000000L * 10000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000");
|
||||
battery_spark_cell_power = new ItemBattery(100000000L * 1000000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_power");
|
||||
cube_power = new ItemBattery(1000000000000000000L, 1000000000000000L, 1000000000000000L).setUnlocalizedName("cube_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cube_power");
|
||||
|
||||
battery_potato = new ItemBattery(100, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato");
|
||||
battery_potatos = new ItemPotatos(5000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos");
|
||||
@ -4399,6 +4402,7 @@ public class ModItems {
|
||||
survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner");
|
||||
mirror_tool = new ItemMirrorTool().setUnlocalizedName("mirror_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mirror_tool");
|
||||
rbmk_tool = new ItemRBMKTool().setUnlocalizedName("rbmk_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":rbmk_tool");
|
||||
coltan_tool = new ItemColtanCompass().setUnlocalizedName("coltan_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coltass");
|
||||
|
||||
key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key");
|
||||
key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red");
|
||||
@ -5920,6 +5924,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(battery_spark_cell_2500, battery_spark_cell_2500.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_spark_cell_10000, battery_spark_cell_10000.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName());
|
||||
GameRegistry.registerItem(cube_power, cube_power.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_su, battery_su.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_su_l, battery_su_l.getUnlocalizedName());
|
||||
@ -6356,6 +6361,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(survey_scanner, survey_scanner.getUnlocalizedName());
|
||||
GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName());
|
||||
GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName());
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.items.armor;
|
||||
|
||||
import com.hbm.extprop.HbmPlayerProps;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.render.model.ModelArmorWings;
|
||||
|
||||
@ -35,6 +36,9 @@ public class WingsMurk extends ItemArmor {
|
||||
|
||||
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
|
||||
|
||||
if(player.onGround)
|
||||
return;
|
||||
|
||||
if(player.fallDistance > 0)
|
||||
player.fallDistance = 0;
|
||||
|
||||
@ -45,21 +49,59 @@ public class WingsMurk extends ItemArmor {
|
||||
|
||||
if(player.isSneaking()) {
|
||||
|
||||
if(player.motionY < -0.08) {
|
||||
|
||||
double mo = player.motionY * -0.2;
|
||||
player.motionY += mo;
|
||||
|
||||
Vec3 vec = player.getLookVec();
|
||||
vec.xCoord *= mo;
|
||||
vec.yCoord *= mo;
|
||||
vec.zCoord *= mo;
|
||||
if(player.motionY < -0.08) {
|
||||
|
||||
player.motionX += vec.xCoord;
|
||||
player.motionY += vec.yCoord;
|
||||
player.motionZ += vec.zCoord;
|
||||
}
|
||||
double mo = player.motionY * -0.2;
|
||||
player.motionY += mo;
|
||||
|
||||
Vec3 vec = player.getLookVec();
|
||||
vec.xCoord *= mo;
|
||||
vec.yCoord *= mo;
|
||||
vec.zCoord *= mo;
|
||||
|
||||
player.motionX += vec.xCoord;
|
||||
player.motionY += vec.yCoord;
|
||||
player.motionZ += vec.zCoord;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HbmPlayerProps props = HbmPlayerProps.getData(player);
|
||||
|
||||
if(this == ModItems.wings_murk) {
|
||||
|
||||
if(props.isJetpackActive()) {
|
||||
|
||||
if(player.motionY < 0.6D)
|
||||
player.motionY += 0.2D;
|
||||
|
||||
} else if(props.enableBackpack && !player.isSneaking()) {
|
||||
|
||||
if(player.motionY < -1)
|
||||
player.motionY += 0.4D;
|
||||
else if(player.motionY < -0.1)
|
||||
player.motionY += 0.2D;
|
||||
else if(player.motionY < 0)
|
||||
player.motionY = 0;
|
||||
}
|
||||
|
||||
if(props.enableBackpack) {
|
||||
|
||||
Vec3 orig = player.getLookVec();
|
||||
Vec3 look = Vec3.createVectorHelper(orig.xCoord, 0, orig.zCoord).normalize();
|
||||
double mod = player.isSneaking() ? 0.25D : 1D;
|
||||
|
||||
if(player.moveForward != 0) {
|
||||
player.motionX += look.xCoord * 0.35 * player.moveForward * mod;
|
||||
player.motionZ += look.zCoord * 0.35 * player.moveForward * mod;
|
||||
}
|
||||
|
||||
if(player.moveStrafing != 0) {
|
||||
look.rotateAroundY((float) Math.PI * 0.5F);
|
||||
player.motionX += look.xCoord * 0.15 * player.moveStrafing * mod;
|
||||
player.motionZ += look.zCoord * 0.15 * player.moveStrafing * mod;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
137
src/main/java/com/hbm/items/tool/ItemColtanCompass.java
Normal file
@ -0,0 +1,137 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.client.renderer.texture.TextureCompass;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.texture.TextureUtil;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemColtanCompass extends Item {
|
||||
|
||||
public int lastX = 0;
|
||||
public int lastZ = 0;
|
||||
public long lease = 0;
|
||||
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inhand) {
|
||||
|
||||
if(world.isRemote) {
|
||||
if(stack.hasTagCompound()) {
|
||||
lastX = stack.stackTagCompound.getInteger("colX");
|
||||
lastZ = stack.stackTagCompound.getInteger("colZ");
|
||||
lease = System.currentTimeMillis() + 1000;
|
||||
}
|
||||
|
||||
if(ItemColtanCompass.this.lease < System.currentTimeMillis()) {
|
||||
lastX = 0;
|
||||
lastZ = 0;
|
||||
}
|
||||
|
||||
} else {
|
||||
if(!stack.hasTagCompound()) {
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
|
||||
Random colRand = new Random(world.getSeed() + 5);
|
||||
int colX = (int) (colRand.nextGaussian() * 1500);
|
||||
int colZ = (int) (colRand.nextGaussian() * 1500);
|
||||
|
||||
stack.stackTagCompound.setInteger("colX", colX);
|
||||
stack.stackTagCompound.setInteger("colZ", colZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister register) {
|
||||
if(register instanceof TextureMap) {
|
||||
TextureMap map = (TextureMap) register;
|
||||
TextureColtass cumpiss = new TextureColtass(this.getIconString());
|
||||
map.setTextureEntry(this.getIconString(), cumpiss);
|
||||
this.itemIcon = cumpiss;
|
||||
} else {
|
||||
this.itemIcon = register.registerIcon(this.getIconString());
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class TextureColtass extends TextureCompass {
|
||||
|
||||
public TextureColtass(String texture) {
|
||||
super(texture);
|
||||
}
|
||||
|
||||
public void updateAnimation() {
|
||||
Minecraft minecraft = Minecraft.getMinecraft();
|
||||
|
||||
if(minecraft.theWorld != null && minecraft.thePlayer != null && !(ItemColtanCompass.this.lastX == 0 && ItemColtanCompass.this.lastZ == 0)) {
|
||||
this.updateCompass(minecraft.theWorld, minecraft.thePlayer.posX, minecraft.thePlayer.posZ, (double) minecraft.thePlayer.rotationYaw, false, false);
|
||||
} else {
|
||||
this.updateCompass((World) null, 0.0D, 0.0D, 0.0D, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateCompass(World world, double x, double z, double yaw, boolean ignoreDestination, boolean instantSnap) {
|
||||
|
||||
if(!this.framesTextureData.isEmpty()) {
|
||||
double angle = 0.0D;
|
||||
|
||||
if(world != null && !ignoreDestination && world.provider.isSurfaceWorld() && ItemColtanCompass.this.lease > System.currentTimeMillis()) {
|
||||
|
||||
double d4 = (double) ItemColtanCompass.this.lastX - x;
|
||||
double d5 = (double) ItemColtanCompass.this.lastZ - z;
|
||||
yaw %= 360.0D;
|
||||
angle = -((yaw - 90.0D) * Math.PI / 180.0D - Math.atan2(d5, d4));
|
||||
|
||||
} else {
|
||||
angle = Math.random() * Math.PI * 2.0D;
|
||||
}
|
||||
|
||||
if(instantSnap) {
|
||||
this.currentAngle = angle;
|
||||
|
||||
} else {
|
||||
double d6;
|
||||
|
||||
for(d6 = angle - this.currentAngle; d6 < -Math.PI; d6 += (Math.PI * 2D)) {
|
||||
;
|
||||
}
|
||||
|
||||
while(d6 >= Math.PI) {
|
||||
d6 -= (Math.PI * 2D);
|
||||
}
|
||||
|
||||
if(d6 < -1.0D) {
|
||||
d6 = -1.0D;
|
||||
}
|
||||
|
||||
if(d6 > 1.0D) {
|
||||
d6 = 1.0D;
|
||||
}
|
||||
|
||||
this.angleDelta += d6 * 0.1D;
|
||||
this.angleDelta *= 0.8D;
|
||||
this.currentAngle += this.angleDelta;
|
||||
}
|
||||
|
||||
int i;
|
||||
|
||||
for(i = (int) ((this.currentAngle / (Math.PI * 2D) + 1.0D) * (double) this.framesTextureData.size()) % this.framesTextureData.size(); i < 0; i = (i + this.framesTextureData.size()) % this.framesTextureData.size()) {
|
||||
;
|
||||
}
|
||||
|
||||
if(i != this.frameCounter) {
|
||||
this.frameCounter = i;
|
||||
TextureUtil.uploadTextureMipmap((int[][]) this.framesTextureData.get(this.frameCounter), this.width, this.height, this.originX, this.originY, false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,355 +1,66 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.ITileEntityProvider;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatStyle;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
public class ItemSurveyScanner extends Item {
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
|
||||
{
|
||||
list.add("Right click to perform scan.");
|
||||
list.add("Shift click to change mode.");
|
||||
list.add("Current mode: " + (getMode(stack) == 0 ? "Resources" : "Structures"));
|
||||
}
|
||||
|
||||
public int getMode(ItemStack stack) {
|
||||
if(!stack.hasTagCompound()) {
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
stack.stackTagCompound.setInteger("mode", 0);
|
||||
return 0;
|
||||
} else {
|
||||
return stack.stackTagCompound.getInteger("mode");
|
||||
}
|
||||
}
|
||||
|
||||
public void setMode(ItemStack stack, int mode) {
|
||||
if(!stack.hasTagCompound()) {
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
}
|
||||
stack.stackTagCompound.setInteger("mode", mode);
|
||||
}
|
||||
|
||||
public int getLevel(Block b, int meta, int i) {
|
||||
|
||||
if(i == 0) {
|
||||
int[] ids = OreDictionary.getOreIDs(new ItemStack(b, 1, meta));
|
||||
|
||||
for(int j = 0; j < ids.length; j++) {
|
||||
|
||||
String s = OreDictionary.getOreName(ids[j]);
|
||||
|
||||
if(s.length() > 3 && s.substring(0, 3).equals("ore"))
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
if(b == Blocks.planks || b == Blocks.cobblestone || b == Blocks.glass || b == Blocks.stonebrick)
|
||||
return 1;
|
||||
if(b instanceof IBomb)
|
||||
return 100;
|
||||
if(b instanceof ITileEntityProvider)
|
||||
return 10;
|
||||
if(b == Blocks.nether_brick)
|
||||
return 5;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||
|
||||
if(player.isSneaking()) {
|
||||
setMode(stack, (getMode(stack) == 1 ? 0 : 1));
|
||||
world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F);
|
||||
|
||||
if(world.isRemote)
|
||||
{
|
||||
player.addChatMessage(new ChatComponentText("Mode switched."));
|
||||
|
||||
if(!world.isRemote) {
|
||||
|
||||
int x = (int)Math.floor(player.posX);
|
||||
int y = (int)Math.floor(player.posY);
|
||||
int z = (int)Math.floor(player.posZ);
|
||||
|
||||
boolean hasOil = false;
|
||||
boolean hasColtan = false;
|
||||
boolean hasDepth = false;
|
||||
boolean hasSchist = false;
|
||||
boolean hasAussie = false;
|
||||
|
||||
for(int a = -5; a <= 5; a++) {
|
||||
for(int b = -5; b <= 5; b++) {
|
||||
for(int i = y + 15; i > 1; i -= 2) {
|
||||
|
||||
Block block = world.getBlock(x + a * 5, i, z + b * 5);
|
||||
|
||||
if(block == ModBlocks.ore_oil)
|
||||
hasOil = true;
|
||||
else if(block == ModBlocks.ore_coltan)
|
||||
hasColtan = true;
|
||||
else if(block == ModBlocks.stone_depth)
|
||||
hasDepth = true;
|
||||
else if(block == ModBlocks.stone_gneiss)
|
||||
hasSchist = true;
|
||||
else if(block == ModBlocks.ore_australium)
|
||||
hasAussie = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
int x = (int)player.posX;
|
||||
int y = (int)player.posY;
|
||||
int z = (int)player.posZ;
|
||||
|
||||
int level = 0;
|
||||
int xOff = -25;
|
||||
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
xOff += 5;
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
|
||||
for(int i = y + 15; i > 5; i--)
|
||||
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
|
||||
|
||||
world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F);
|
||||
|
||||
if(world.isRemote)
|
||||
{
|
||||
player.addChatMessage(new ChatComponentText("Scanned! Result: " + level));
|
||||
}
|
||||
if(hasOil)
|
||||
player.addChatComponentMessage(new ChatComponentText("Found OIL!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.BLACK)));
|
||||
if(hasColtan)
|
||||
player.addChatComponentMessage(new ChatComponentText("Found COLTAN!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD)));
|
||||
if(hasDepth)
|
||||
player.addChatComponentMessage(new ChatComponentText("Found DEPTH ROCK!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GRAY)));
|
||||
if(hasSchist)
|
||||
player.addChatComponentMessage(new ChatComponentText("Found SCHIST!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_AQUA)));
|
||||
if(hasAussie)
|
||||
player.addChatComponentMessage(new ChatComponentText("Found AUSTRALIUM!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
|
||||
}
|
||||
|
||||
player.swingItem();
|
||||
@ -358,14 +69,13 @@ public class ItemSurveyScanner extends Item {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2)
|
||||
{
|
||||
if(world.getBlock(x, y, z) == ModBlocks.block_beryllium && player.inventory.hasItem(ModItems.entanglement_kit)) {
|
||||
player.travelToDimension(1);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) {
|
||||
if(world.getBlock(x, y, z) == ModBlocks.block_beryllium && player.inventory.hasItem(ModItems.entanglement_kit)) {
|
||||
player.travelToDimension(1);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -46,7 +46,6 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.gen.NoiseGeneratorOctaves;
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import cpw.mods.fml.common.IWorldGenerator;
|
||||
|
||||
public class HbmWorldGen implements IWorldGenerator {
|
||||
@ -166,6 +165,19 @@ public class HbmWorldGen implements IWorldGenerator {
|
||||
DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_cinnebar, rand, 16);
|
||||
DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_zirconium, rand, 16);
|
||||
|
||||
Random colRand = new Random(world.getSeed() + 5);
|
||||
int colX = (int) (colRand.nextGaussian() * 1500);
|
||||
int colZ = (int) (colRand.nextGaussian() * 1500);
|
||||
int colRange = 500;
|
||||
for (int k = 0; k < 6; k++) {
|
||||
int randPosX = i + rand.nextInt(16);
|
||||
int randPosY = rand.nextInt(25) + 15;
|
||||
int randPosZ = j + rand.nextInt(16);
|
||||
|
||||
if(randPosX <= colX + colRange && randPosX >= colX - colRange && randPosZ <= colZ + colRange && randPosZ >= colZ - colRange)
|
||||
(new WorldGenMinable(ModBlocks.ore_coltan, 3)).generate(world, rand, randPosX, randPosY, randPosZ);
|
||||
}
|
||||
|
||||
for (int k = 0; k < rand.nextInt(4); k++) {
|
||||
int randPosX = i + rand.nextInt(16);
|
||||
int randPosY = rand.nextInt(15) + 15;
|
||||
|
||||
@ -77,6 +77,8 @@ public class Library {
|
||||
public static String lag_add = "259785a0-20e9-4c63-9286-ac2f93ff528f";
|
||||
public static String Pu_238 = "c95fdfd3-bea7-4255-a44b-d21bc3df95e3";
|
||||
public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03";
|
||||
public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4";
|
||||
public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531";
|
||||
|
||||
public static Set<String> contributors = Sets.newHashSet(new String[] {
|
||||
"06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf
|
||||
|
||||
@ -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 (3920)";
|
||||
public static final String VERSION = "1.0.27 BETA (3934)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -224,6 +224,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_outgasser"));
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_reflector"));
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element"));
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element_reasim"));
|
||||
//ITER
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater());
|
||||
|
||||
@ -752,6 +752,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "C", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', "ingotZirconium" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "plateSteel", 'C', "ingotCopper", 'B', ModItems.tank_steel }));
|
||||
@ -984,6 +985,7 @@ public class CraftingManager {
|
||||
GameRegistry.addSmelting(ModItems.crystal_lithium, new ItemStack(ModItems.lithium, 2), 2.0F);
|
||||
GameRegistry.addSmelting(ModItems.crystal_starmetal, new ItemStack(ModItems.ingot_starmetal, 2), 2.0F);
|
||||
GameRegistry.addSmelting(ModItems.crystal_trixite, new ItemStack(ModItems.ingot_plutonium, 4), 2.0F);
|
||||
GameRegistry.addSmelting(ModItems.gem_tantalium, new ItemStack(ModItems.ingot_tantalium, 1), 2.0F);
|
||||
|
||||
GameRegistry.addSmelting(ModItems.circuit_schrabidium, new ItemStack(ModItems.circuit_gold, 1), 1.0F);
|
||||
GameRegistry.addSmelting(ModItems.circuit_gold, new ItemStack(ModItems.circuit_red_copper, 1), 1.0F);
|
||||
|
||||
@ -85,6 +85,7 @@ import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
||||
@Mod(modid = RefStrings.MODID, name = RefStrings.NAME, version = RefStrings.VERSION)
|
||||
public class MainRegistry {
|
||||
@ -479,6 +480,7 @@ public class MainRegistry {
|
||||
GameRegistry.registerTileEntity(TileEntityChungus.class, "tileentity_chungus");
|
||||
|
||||
GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod");
|
||||
GameRegistry.registerTileEntity(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim");
|
||||
GameRegistry.registerTileEntity(TileEntityRBMKControlManual.class, "tileentity_rbmk_control");
|
||||
GameRegistry.registerTileEntity(TileEntityRBMKControlAuto.class, "tileentity_rbmk_control_auto");
|
||||
GameRegistry.registerTileEntity(TileEntityRBMKBlank.class, "tileentity_rbmk_blank");
|
||||
@ -1174,9 +1176,11 @@ public class MainRegistry {
|
||||
MinecraftForge.EVENT_BUS.register(radiationSystem);
|
||||
FMLCommonHandler.instance().bus().register(radiationSystem);
|
||||
|
||||
HbmKeybinds.register();
|
||||
HbmKeybinds keyHandler = new HbmKeybinds();
|
||||
FMLCommonHandler.instance().bus().register(keyHandler);
|
||||
if(event.getSide() == Side.CLIENT) {
|
||||
HbmKeybinds.register();
|
||||
HbmKeybinds keyHandler = new HbmKeybinds();
|
||||
FMLCommonHandler.instance().bus().register(keyHandler);
|
||||
}
|
||||
}
|
||||
|
||||
//yes kids, this is where we would usually register commands
|
||||
|
||||
@ -732,6 +732,54 @@ public class ModEventHandler {
|
||||
((ArmorFSB)((EntityPlayer)e).inventory.armorInventory[2].getItem()).handleFall((EntityPlayer)e);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onWingFlop(TickEvent.PlayerTickEvent event) {
|
||||
|
||||
EntityPlayer player = event.player;
|
||||
|
||||
if(event.phase == TickEvent.Phase.START && player.getUniqueID().toString().equals(Library.SolsticeUnlimitd)) {
|
||||
|
||||
if(player.getCurrentArmor(2) == null && !player.onGround) {
|
||||
|
||||
if(player.fallDistance > 0)
|
||||
player.fallDistance = 0;
|
||||
|
||||
if(player.motionY < -0.4D)
|
||||
player.motionY = -0.4D;
|
||||
|
||||
HbmPlayerProps props = HbmPlayerProps.getData(player);
|
||||
|
||||
if(player.getFoodStats().getFoodLevel() > 6) {
|
||||
|
||||
if(props.isJetpackActive()) {
|
||||
if(player.motionY < 0.4D)
|
||||
player.motionY += 0.15D;
|
||||
|
||||
if(player.getFoodStats().getSaturationLevel() > 0F)
|
||||
player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect
|
||||
else
|
||||
player.addExhaustion(0.2F); //4:1 -> 0.05 hunger per tick or 1 per second
|
||||
}
|
||||
}
|
||||
|
||||
Vec3 orig = player.getLookVec();
|
||||
Vec3 look = Vec3.createVectorHelper(orig.xCoord, 0, orig.zCoord).normalize();
|
||||
double mod = props.isJetpackActive() ? 0.25D : 0.125D;
|
||||
|
||||
if(player.moveForward != 0) {
|
||||
player.motionX += look.xCoord * 0.35 * player.moveForward * mod;
|
||||
player.motionZ += look.zCoord * 0.35 * player.moveForward * mod;
|
||||
}
|
||||
|
||||
if(player.moveStrafing != 0) {
|
||||
look.rotateAroundY((float) Math.PI * 0.5F);
|
||||
player.motionX += look.xCoord * 0.15 * player.moveStrafing * mod;
|
||||
player.motionZ += look.zCoord * 0.15 * player.moveStrafing * mod;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPlayerTick(TickEvent.PlayerTickEvent event) {
|
||||
|
||||
|
||||
@ -318,7 +318,7 @@ public class ModEventHandlerClient {
|
||||
}
|
||||
}
|
||||
|
||||
if(player.getCurrentArmor(2) == null)
|
||||
if(player.getCurrentArmor(2) == null && player.getUniqueID().toString().equals(Library.SolsticeUnlimitd))
|
||||
RenderAccessoryUtility.renderSol(event);
|
||||
}
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ public class ModelArmorWings extends ModelArmorBase {
|
||||
double px = 0.0625D;
|
||||
|
||||
double rot = Math.sin((entity.ticksExisted) * 0.2D) * 20;
|
||||
double rot2 = Math.sin((entity.ticksExisted) * 0.2D - Math.PI * 0.5) * 50 + 35;
|
||||
double rot2 = Math.sin((entity.ticksExisted) * 0.2D - Math.PI * 0.5) * 50 + 30;
|
||||
|
||||
int pivotSideOffset = 1;
|
||||
int pivotFrontOffset = 5;
|
||||
|
||||
@ -6,6 +6,7 @@ import com.hbm.blocks.machine.rbmk.RBMKBase;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRod;
|
||||
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
@ -78,6 +79,8 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer {
|
||||
cherenkov = false;
|
||||
}
|
||||
|
||||
if(control instanceof TileEntityRBMKBoiler && meta != RBMKBase.DIR_GLASS_LID.ordinal())
|
||||
ResourceManager.rbmk_rods.renderPart("Lid");
|
||||
ResourceManager.rbmk_element.renderPart("Lid");
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -38,6 +38,7 @@ public class RenderAccessoryUtility {
|
||||
private static ResourceLocation leftnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeLeftNugget.png");
|
||||
private static ResourceLocation rightnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeRightNugget.png");
|
||||
private static ResourceLocation tankish = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeTankish.png");
|
||||
private static ResourceLocation frizzlefrazzle = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeFrizzleFrazzle.png");
|
||||
|
||||
public static ResourceLocation getCloakFromPlayer(EntityPlayer player) {
|
||||
|
||||
@ -113,6 +114,9 @@ public class RenderAccessoryUtility {
|
||||
if(uuid.equals(Library.Tankish)) {
|
||||
return tankish;
|
||||
}
|
||||
if(uuid.equals(Library.FrizzleFrazzle)) {
|
||||
return frizzlefrazzle;
|
||||
}
|
||||
if(Library.contributors.contains(uuid)) {
|
||||
return wiki;
|
||||
}
|
||||
|
||||
@ -17,7 +17,11 @@ public class RBMKDials {
|
||||
public static final String KEY_REACTIVITY_MOD = "dialReactivityMod";
|
||||
public static final String KEY_SAVE_DIALS = "dialSaveDials";
|
||||
public static final String KEY_OUTGASSER_MOD = "dialOutgasserSpeedMod";
|
||||
public static final String KEV_SURGE_MOD = "dialControlSurgeMod";
|
||||
public static final String KEY_SURGE_MOD = "dialControlSurgeMod";
|
||||
public static final String KEY_FLUX_RANGE = "dialFluxRange";
|
||||
public static final String KEY_REASIM_RANGE = "dialReasimRange";
|
||||
public static final String KEY_REASIM_COUNT = "dialReasimCount";
|
||||
public static final String KEY_REASIM_MOD = "dialReasimOutputMod";
|
||||
|
||||
public static void createDials(World world) {
|
||||
GameRules rules = world.getGameRules();
|
||||
@ -34,7 +38,11 @@ public class RBMKDials {
|
||||
rules.setOrCreateGameRule(KEY_REACTIVITY_MOD, "1.0");
|
||||
rules.setOrCreateGameRule(KEY_SAVE_DIALS, "true");
|
||||
rules.setOrCreateGameRule(KEY_OUTGASSER_MOD, "1.0");
|
||||
rules.setOrCreateGameRule(KEV_SURGE_MOD, "1.0");
|
||||
rules.setOrCreateGameRule(KEY_SURGE_MOD, "1.0");
|
||||
rules.setOrCreateGameRule(KEY_FLUX_RANGE, "5");
|
||||
rules.setOrCreateGameRule(KEY_REASIM_RANGE, "10");
|
||||
rules.setOrCreateGameRule(KEY_REASIM_COUNT, "6");
|
||||
rules.setOrCreateGameRule(KEY_REASIM_MOD, "1.0");
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,12 +137,48 @@ public class RBMKDials {
|
||||
}
|
||||
|
||||
/**
|
||||
* A multiplier for how high the power surge goes when inserting control rods
|
||||
* A multiplier for how high the power surge goes when inserting control rods.
|
||||
* @param world
|
||||
* @return >0
|
||||
*/
|
||||
public static double getSurgeMod(World world) {
|
||||
return Math.max(shittyWorkaroundParseDouble(world.getGameRules().getGameRuleStringValue(KEV_SURGE_MOD), 1.0D), 0.0D);
|
||||
return Math.max(shittyWorkaroundParseDouble(world.getGameRules().getGameRuleStringValue(KEY_SURGE_MOD), 1.0D), 0.0D);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple integer that decides how far the flux of a normal fuel rod reaches.
|
||||
* @param world
|
||||
* @return [1;100]
|
||||
*/
|
||||
public static int getFluxRange(World world) {
|
||||
return MathHelper.clamp_int(shittyWorkaroundParseInt(world.getGameRules().getGameRuleStringValue(KEY_FLUX_RANGE), 5), 1, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple integer that decides how far the flux of a ReaSim fuel rod reaches.
|
||||
* @param world
|
||||
* @return [1;100]
|
||||
*/
|
||||
public static int getReaSimRange(World world) {
|
||||
return MathHelper.clamp_int(shittyWorkaroundParseInt(world.getGameRules().getGameRuleStringValue(KEY_REASIM_RANGE), 10), 1, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple integer that decides how many neutrons are created from ReaSim fuel rods.
|
||||
* @param world
|
||||
* @return [1;24]
|
||||
*/
|
||||
public static int getReaSimCount(World world) {
|
||||
return MathHelper.clamp_int(shittyWorkaroundParseInt(world.getGameRules().getGameRuleStringValue(KEY_REASIM_COUNT), 6), 1, 24);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a modifier for the outgoing flux of individual streams from the ReaSim fuel rod to compensate for the potentially increased stream count.
|
||||
* @param world
|
||||
* @return >0
|
||||
*/
|
||||
public static double getReaSimOutputMod(World world) {
|
||||
return Math.max(shittyWorkaroundParseDouble(world.getGameRules().getGameRuleStringValue(KEY_REASIM_MOD), 1.0D), 0.0D);
|
||||
}
|
||||
|
||||
//why make the double representation accessible in a game rule when you can just force me to add a second pointless parsing operation?
|
||||
|
||||
@ -82,6 +82,8 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
|
||||
this.fluxSlow = 0;
|
||||
|
||||
hasRod = false;
|
||||
|
||||
super.updateEntity();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -112,81 +114,100 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
|
||||
ForgeDirection.WEST
|
||||
};
|
||||
|
||||
private void spreadFlux(NType type, double fluxOut) {
|
||||
protected static NType stream;
|
||||
|
||||
protected void spreadFlux(NType type, double fluxOut) {
|
||||
|
||||
int range = 5;
|
||||
int range = RBMKDials.getFluxRange(worldObj);
|
||||
|
||||
for(ForgeDirection dir : fluxDirs) {
|
||||
|
||||
NType stream = type;
|
||||
stream = type;
|
||||
double flux = fluxOut;
|
||||
|
||||
for(int i = 1; i <= range; i++) {
|
||||
|
||||
TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i);
|
||||
|
||||
//burn baby burn
|
||||
if(te instanceof TileEntityRBMKRod) {
|
||||
TileEntityRBMKRod rod = (TileEntityRBMKRod)te;
|
||||
|
||||
if(rod.getStackInSlot(0) != null && rod.getStackInSlot(0).getItem() instanceof ItemRBMKRod) {
|
||||
rod.receiveFlux(stream, flux);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(te instanceof IRBMKFluxReceiver) {
|
||||
IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te;
|
||||
rod.receiveFlux(stream, flux);
|
||||
|
||||
flux = runInteraction(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i, flux);
|
||||
|
||||
if(flux <= 0)
|
||||
break;
|
||||
}
|
||||
|
||||
//set neutrons to slow
|
||||
if(te instanceof TileEntityRBMKControl) {
|
||||
TileEntityRBMKControl control = (TileEntityRBMKControl)te;
|
||||
|
||||
if(control.getMult() == 0.0D)
|
||||
break;
|
||||
|
||||
flux *= control.getMult();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
//set neutrons to slow
|
||||
if(te instanceof TileEntityRBMKModerator) {
|
||||
stream = NType.SLOW;
|
||||
continue;
|
||||
}
|
||||
|
||||
//return the neutrons back to this with no further action required
|
||||
if(te instanceof TileEntityRBMKReflector) {
|
||||
this.receiveFlux(stream, flux);
|
||||
break;
|
||||
}
|
||||
|
||||
//break the neutron flow and nothign else
|
||||
if(te instanceof TileEntityRBMKAbsorber) {
|
||||
break;
|
||||
}
|
||||
|
||||
if(te instanceof TileEntityRBMKBase) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int limit = RBMKDials.getColumnHeight(worldObj);
|
||||
int hits = 0;
|
||||
for(int h = 0; h <= limit; h++) {
|
||||
|
||||
if(!worldObj.getBlock(xCoord + dir.offsetX * i, yCoord + h, zCoord + dir.offsetZ * i).isOpaqueCube())
|
||||
hits++;
|
||||
}
|
||||
|
||||
if(hits > 0)
|
||||
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F * hits / (float)limit));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected double runInteraction(int x, int y, int z, double flux) {
|
||||
|
||||
TileEntity te = worldObj.getTileEntity(x, y, z);
|
||||
|
||||
if(te instanceof TileEntityRBMKBase) {
|
||||
TileEntityRBMKBase base = (TileEntityRBMKBase) te;
|
||||
|
||||
if(!base.hasLid())
|
||||
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F));
|
||||
}
|
||||
|
||||
//burn baby burn
|
||||
if(te instanceof TileEntityRBMKRod) {
|
||||
TileEntityRBMKRod rod = (TileEntityRBMKRod)te;
|
||||
|
||||
if(rod.getStackInSlot(0) != null && rod.getStackInSlot(0).getItem() instanceof ItemRBMKRod) {
|
||||
rod.receiveFlux(stream, flux);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if(te instanceof IRBMKFluxReceiver) {
|
||||
IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te;
|
||||
rod.receiveFlux(stream, flux);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//set neutrons to slow
|
||||
if(te instanceof TileEntityRBMKControl) {
|
||||
TileEntityRBMKControl control = (TileEntityRBMKControl)te;
|
||||
|
||||
if(control.getMult() == 0.0D)
|
||||
return 0;
|
||||
|
||||
flux *= control.getMult();
|
||||
|
||||
return flux;
|
||||
}
|
||||
|
||||
//set neutrons to slow
|
||||
if(te instanceof TileEntityRBMKModerator) {
|
||||
stream = NType.SLOW;
|
||||
return flux;
|
||||
}
|
||||
|
||||
//return the neutrons back to this with no further action required
|
||||
if(te instanceof TileEntityRBMKReflector) {
|
||||
this.receiveFlux(stream, flux);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//break the neutron flow and nothign else
|
||||
if(te instanceof TileEntityRBMKAbsorber) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(te instanceof TileEntityRBMKBase) {
|
||||
return flux;
|
||||
}
|
||||
|
||||
int limit = RBMKDials.getColumnHeight(worldObj);
|
||||
int hits = 0;
|
||||
for(int h = 0; h <= limit; h++) {
|
||||
|
||||
if(!worldObj.getBlock(x, y, z).isOpaqueCube())
|
||||
hits++;
|
||||
}
|
||||
|
||||
if(hits > 0)
|
||||
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F * hits / (float)limit));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
package com.hbm.tileentity.machine.rbmk;
|
||||
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.rbmkReaSim";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void spreadFlux(NType type, double fluxOut) {
|
||||
|
||||
int range = RBMKDials.getReaSimRange(worldObj);
|
||||
int count = RBMKDials.getReaSimCount(worldObj);
|
||||
|
||||
Vec3 dir = Vec3.createVectorHelper(1, 0, 0);
|
||||
|
||||
for(int i = 1; i < count; i++) {
|
||||
|
||||
stream = type;
|
||||
double flux = fluxOut * RBMKDials.getReaSimOutputMod(worldObj);
|
||||
|
||||
dir.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble()));
|
||||
|
||||
for(int j = 1; j <= range; j++) {
|
||||
|
||||
//skip if the position is on the rod itself
|
||||
if((int)Math.floor(dir.xCoord * j) == 0 && (int)Math.floor(dir.zCoord * j) == 0)
|
||||
continue;
|
||||
|
||||
//skip if the current position is equal to the last position
|
||||
if((int)Math.floor(dir.xCoord * j) == (int)Math.floor(dir.xCoord * (j - 1)) && (int)Math.floor(dir.zCoord * j) == (int)Math.floor(dir.zCoord * (j - 1)))
|
||||
continue;
|
||||
|
||||
flux = runInteraction(xCoord + (int)Math.floor(dir.xCoord * j), yCoord, zCoord + (int)Math.floor(dir.zCoord * j), flux);
|
||||
|
||||
if(flux <= 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -252,7 +252,8 @@ container.rbmkBoiler=RBMK Dampfkanal
|
||||
container.rbmkControl=RBMK Steuerstäbe
|
||||
container.rbmkControlAuto=RBMK Automatische Steuerstäbe
|
||||
container.rbmkOutgasser=RBMK Bestrahlungskanal
|
||||
container.rbmkRod=RBMK Steuerstäbe
|
||||
container.rbmkReaSim=RBMK Brennstäbe (ReaSim)
|
||||
container.rbmkRod=RBMK Brennstäbe
|
||||
container.reactor=Brutreaktor
|
||||
container.reactorControl=Reaktorfernsteuerung
|
||||
container.reactorLarge=Großer Atomreaktor
|
||||
@ -377,6 +378,11 @@ hadron.noresult=Kein Ergebnis.
|
||||
hadron.progress=Verarbeite...
|
||||
hadron.success=Abgeschlossen!
|
||||
|
||||
hbm.key=NTM Hotkeys
|
||||
hbm.key.toggleBack=Rucksack umschalten
|
||||
hbm.key.toggleHUD=HUD umschalten
|
||||
hbm.key.reload=Nachladen
|
||||
|
||||
hbmfluid.acid=Wasserstoffperoxid
|
||||
hbmfluid.amat=Antimaterie
|
||||
hbmfluid.aschrab=Antischrabidium
|
||||
@ -998,6 +1004,7 @@ 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.coltan_tool.name=Koltass
|
||||
item.combine_scrap.name=CMB Schrott
|
||||
item.component_emitter.name=Emitterkomponente
|
||||
item.component_limiter.name=Stabilisatorkomponente
|
||||
@ -1035,6 +1042,7 @@ item.crystal_trixite.name=Trixitkristalle
|
||||
item.crystal_tungsten.name=Wolframkristalle
|
||||
item.crystal_uranium.name=Urankristalle
|
||||
item.crystal_xen.name=Künstlicher Xen-Kristall
|
||||
item.cube_power.name=Electroniumwürfel
|
||||
item.custom_amat.name=AB - Antimaterie-Element
|
||||
item.custom_dirty.name=AB - Schmutziges Element
|
||||
item.custom_fall.name=AB - Abwurf-Upgrade
|
||||
@ -1482,7 +1490,7 @@ item.jetpack_break.name=Bauarbeiter-Raketenrucksack
|
||||
item.jetpack_fly.name=Raketenrucksack
|
||||
item.jetpack_tank.name=Raketenrucksack-Reservetank
|
||||
item.jetpack_vector.name=Schubvektorgesteuerter Raketenrucksack
|
||||
item.journal_bj.name=Mit Whiskey durchnässtes Notizbuch
|
||||
item.journal_bj.name=Mit Whisky durchnässtes Notizbuch
|
||||
item.journal_pip.name=Tagebuch des Überlebenskünstlers
|
||||
item.journal_silver.name=Notizen des Kontraktor's
|
||||
item.key.name=Schlüssel
|
||||
@ -1837,6 +1845,7 @@ item.particle_lead.name=Bleiionenkapsel
|
||||
item.particle_muon.name=Myonenkapsel
|
||||
item.particle_sparkticle.name=Sparktikelkapsel
|
||||
item.particle_strange.name=Strange-Quark-Kapsel
|
||||
item.particle_tachyon.name=Tachyonenkapsel
|
||||
item.peas.name=Erbsen
|
||||
item.pedestal_steel.name=Stahlsockel
|
||||
item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet
|
||||
@ -2446,7 +2455,9 @@ item.weapon_pipe_rusty.name=Der Einstellungskorrigierer
|
||||
item.weapon_saw.name=Ärztlich autorisierter Mord
|
||||
item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r
|
||||
item.wd40.name=VT-40
|
||||
item.wild_p.name=Wild Pegasus Trockener Wiskey
|
||||
item.wild_p.name=Wild Pegasus Trockener Whisky
|
||||
item.wings_limp.name=Schlaffe Flügel
|
||||
item.wings_murk.name=Trübe Flügel
|
||||
item.wire_advanced_alloy.name=Supraleiter
|
||||
item.wire_aluminium.name=Aluminiumdraht
|
||||
item.wire_copper.name=Kupferdraht
|
||||
@ -3050,6 +3061,7 @@ tile.rbmk_moderator.name=RBMK Graphitmoderator
|
||||
tile.rbmk_outgasser.name=RBMK Bestrahlungskanal
|
||||
tile.rbmk_reflector.name=RBMK Wolframcarbid-Moderator
|
||||
tile.rbmk_rod.name=RBMK Brennstäbe
|
||||
tile.rbmk_rod_reasim.name=RBMK Brennstäbe (ReaSim)
|
||||
tile.reactor_computer.name=Reaktorsteuerung
|
||||
tile.reactor_conductor.name=Reaktorboiler
|
||||
tile.reactor_control.name=Steuerstäbe
|
||||
|
||||
@ -320,6 +320,7 @@ container.rbmkBoiler=RBMK Steam Channel
|
||||
container.rbmkControl=RBMK Control Rods
|
||||
container.rbmkControlAuto=RBMK Automatic Control Rods
|
||||
container.rbmkOutgasser=RBMK Irradiation Channel
|
||||
container.rbmkReaSim=RBMK Fuel Rod (ReaSim)
|
||||
container.rbmkRod=RBMK Fuel Rod
|
||||
container.reactor=Breeding Reactor
|
||||
container.reactorControl=Reactor Remote Control Block
|
||||
@ -445,6 +446,11 @@ hadron.noresult=No Result.
|
||||
hadron.progress=In Progress...
|
||||
hadron.success=Completed!
|
||||
|
||||
hbm.key=NTM Hotkeys
|
||||
hbm.key.toggleBack=Toggle Backpack
|
||||
hbm.key.toggleHUD=Toggle HUD
|
||||
hbm.key.reload=Reload
|
||||
|
||||
hbmfluid.acid=Hydrogen Peroxide
|
||||
hbmfluid.amat=Antimatter
|
||||
hbmfluid.aschrab=Antischrabidium
|
||||
@ -972,7 +978,7 @@ item.chopper_head.name=Hunter Chopper Cockpit
|
||||
item.chopper_tail.name=Hunter Chopper Tail
|
||||
item.chopper_torso.name=Hunter Chopper Body
|
||||
item.chopper_wing.name=Hunter Chopper Wing
|
||||
item.cinnebar.name=Cinnibar
|
||||
item.cinnebar.name=Cinnabar
|
||||
item.circuit_aluminium.name=Basic Circuit
|
||||
item.circuit_bismuth.name=Versatile Chipset
|
||||
item.circuit_bismuth_raw.name=Versatile Chipset Assembly
|
||||
@ -1066,6 +1072,7 @@ 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.coltan_tool.name=Coltass
|
||||
item.combine_scrap.name=CMB Scrap Metal
|
||||
item.component_emitter.name=Emitter Component
|
||||
item.component_limiter.name=Stabilizer Component
|
||||
@ -1103,6 +1110,7 @@ item.crystal_trixite.name=Trixite Crystals
|
||||
item.crystal_tungsten.name=Tungsten Crystals
|
||||
item.crystal_uranium.name=Uranium Crystals
|
||||
item.crystal_xen.name=Artificial Xen Crystal
|
||||
item.cube_power.name=Electronium Cube
|
||||
item.custom_amat.name=Custom Nuke Antimatter Rod
|
||||
item.custom_dirty.name=Custom Nuke Dirty Rod
|
||||
item.custom_fall.name=Custom Nuke Drop Upgrade
|
||||
@ -1905,6 +1913,7 @@ item.particle_lead.name=Lead Ion Capsule
|
||||
item.particle_muon.name=Muon Capsule
|
||||
item.particle_sparkticle.name=Sparkticle Capsule
|
||||
item.particle_strange.name=Strange Quark Capsule
|
||||
item.particle_tachyon.name=Tachyon Capsule
|
||||
item.peas.name=Peas
|
||||
item.pedestal_steel.name=Steel Pedestal
|
||||
item.pellet_advanced.name=Advanced Watz Performance Improver
|
||||
@ -2515,6 +2524,8 @@ item.weapon_saw.name=Doctor Assisted Homicide
|
||||
item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r
|
||||
item.wd40.name=VT-40
|
||||
item.wild_p.name=Wild Pegasus Dry Whiskey
|
||||
item.wings_limp.name=Limp Wings
|
||||
item.wings_murk.name=Murky Wings
|
||||
item.wire_advanced_alloy.name=Super Conductor
|
||||
item.wire_aluminium.name=Aluminium Wire
|
||||
item.wire_copper.name=Copper Wire
|
||||
@ -3049,13 +3060,13 @@ 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=Cinnibar Ore
|
||||
tile.ore_cinnebar.name=Cinnabar Ore
|
||||
tile.ore_coal_oil.name=Oily Coal Ore
|
||||
tile.ore_coal_oil_burning.name=Burning Oily Coal Ore
|
||||
tile.ore_coltan.name=Coltan Ore
|
||||
tile.ore_copper.name=Copper Ore
|
||||
tile.ore_daffergon.name=Dellite
|
||||
tile.ore_depth_cinnebar.name=Depth Cinnibar Ore
|
||||
tile.ore_depth_cinnebar.name=Depth Cinnabar Ore
|
||||
tile.ore_depth_zirconium.name=Depth Zirconium Ore
|
||||
tile.ore_fluorite.name=Fluorite Ore
|
||||
tile.ore_gneiss_asbestos.name=Schist Asbestos Ore
|
||||
@ -3134,6 +3145,7 @@ tile.rbmk_moderator.name=RBMK Graphite Moderator
|
||||
tile.rbmk_outgasser.name=RBMK Irradiation Channel
|
||||
tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector
|
||||
tile.rbmk_rod.name=RBMK Fuel Rod
|
||||
tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim)
|
||||
tile.reactor_computer.name=Reactor Control
|
||||
tile.reactor_conductor.name=Reactor Boiler
|
||||
tile.reactor_control.name=Control Rods
|
||||
|
||||
|
After Width: | Height: | Size: 887 B |
|
After Width: | Height: | Size: 315 B |
BIN
src/main/resources/assets/hbm/textures/items/battery_sc_gold.png
Normal file
|
After Width: | Height: | Size: 308 B |
|
After Width: | Height: | Size: 304 B |
|
After Width: | Height: | Size: 305 B |
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 321 B |
BIN
src/main/resources/assets/hbm/textures/items/coltass.png
Executable file
|
After Width: | Height: | Size: 1.3 KiB |
3
src/main/resources/assets/hbm/textures/items/coltass.png.mcmeta
Executable file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"animation": {}
|
||||
}
|
||||
|
After Width: | Height: | Size: 250 B |
|
After Width: | Height: | Size: 590 B |
@ -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-3920",
|
||||
"version":"1.0.27-3934",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||