mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-02-24 15:00:48 +00:00
Made meteorites spawn naturally, switched sys.out for logger
This commit is contained in:
parent
6c815b8627
commit
3aed464d66
@ -60,5 +60,6 @@
|
|||||||
"entity.chopperCharge": {"category": "hostile", "sounds": [{"name": "entity/chopperCharge", "stream": false}]},
|
"entity.chopperCharge": {"category": "hostile", "sounds": [{"name": "entity/chopperCharge", "stream": false}]},
|
||||||
"entity.chopperDamage": {"category": "hostile", "sounds": [{"name": "entity/chopperDamage", "stream": true}]},
|
"entity.chopperDamage": {"category": "hostile", "sounds": [{"name": "entity/chopperDamage", "stream": true}]},
|
||||||
"entity.chopperMineLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperMineLoop", "stream": false}]},
|
"entity.chopperMineLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperMineLoop", "stream": false}]},
|
||||||
"entity.chopperCrashingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperCrashingLoop", "stream": true}]}
|
"entity.chopperCrashingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperCrashingLoop", "stream": true}]},
|
||||||
|
"entity.oldExplosion": {"category": "ambient", "sounds": [{"name": "entity/oldExplosion", "stream": false}]}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
assets/hbm/sounds/entity/oldExplosion.ogg
Normal file
BIN
assets/hbm/sounds/entity/oldExplosion.ogg
Normal file
Binary file not shown.
@ -533,7 +533,7 @@ public class ModBlocks {
|
|||||||
block_meteor = new BlockOre(Material.rock).setBlockName("block_meteor").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor");
|
block_meteor = new BlockOre(Material.rock).setBlockName("block_meteor").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor");
|
||||||
block_meteor_cobble = new BlockOre(Material.rock).setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_cobble");
|
block_meteor_cobble = new BlockOre(Material.rock).setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_cobble");
|
||||||
block_meteor_broken = new BlockOre(Material.rock).setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_broken");
|
block_meteor_broken = new BlockOre(Material.rock).setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_broken");
|
||||||
block_meteor_molten = new BlockOre(Material.rock).setBlockName("block_meteor_molten").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_molten");
|
block_meteor_molten = new BlockOre(Material.rock).setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_molten");
|
||||||
block_meteor_treasure = new BlockOre(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_treasure");
|
block_meteor_treasure = new BlockOre(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor_treasure");
|
||||||
|
|
||||||
tape_recorder = new DecoTapeRecorder(Material.rock).setBlockName("tape_recorder").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder");
|
tape_recorder = new DecoTapeRecorder(Material.rock).setBlockName("tape_recorder").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder");
|
||||||
|
|||||||
@ -9,7 +9,9 @@ import java.util.Random;
|
|||||||
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.entity.effect.EntityBlackHole;
|
import com.hbm.entity.effect.EntityBlackHole;
|
||||||
|
import com.hbm.entity.projectile.EntityMeteor;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
|
import com.hbm.main.ModEventHandler;
|
||||||
import com.hbm.world.Meteorite;
|
import com.hbm.world.Meteorite;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
@ -131,7 +133,7 @@ public class TestEventTester extends Block {
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|
||||||
if(!worldObj.isRemote) {
|
/*if(!worldObj.isRemote) {
|
||||||
switch(itemRand.nextInt(3)) {
|
switch(itemRand.nextInt(3)) {
|
||||||
case 0:
|
case 0:
|
||||||
(new Meteorite()).generateLarge(worldObj, itemRand, x1, y1, z1);
|
(new Meteorite()).generateLarge(worldObj, itemRand, x1, y1, z1);
|
||||||
@ -143,6 +145,11 @@ public class TestEventTester extends Block {
|
|||||||
(new Meteorite()).generateSmall(worldObj, itemRand, x1, y1, z1);
|
(new Meteorite()).generateSmall(worldObj, itemRand, x1, y1, z1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
if(!worldObj.isRemote) {
|
||||||
|
ModEventHandler.meteorShower = 6000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
87
com/hbm/entity/projectile/EntityMeteor.java
Normal file
87
com/hbm/entity/projectile/EntityMeteor.java
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
package com.hbm.entity.projectile;
|
||||||
|
|
||||||
|
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||||
|
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||||
|
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||||
|
import com.hbm.entity.particle.EntityGasFlameFX;
|
||||||
|
import com.hbm.entity.particle.EntitySmokeFX;
|
||||||
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
|
import com.hbm.main.MainRegistry;
|
||||||
|
import com.hbm.world.Meteorite;
|
||||||
|
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import net.minecraft.entity.projectile.EntityThrowable;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class EntityMeteor extends EntityThrowable {
|
||||||
|
|
||||||
|
public EntityMeteor(World p_i1582_1_) {
|
||||||
|
super(p_i1582_1_);
|
||||||
|
this.ignoreFrustumCheck = true;
|
||||||
|
this.isImmuneToFire = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUpdate() {
|
||||||
|
this.prevPosX = this.posX;
|
||||||
|
this.prevPosY = this.posY;
|
||||||
|
this.prevPosZ = this.posZ;
|
||||||
|
|
||||||
|
this.posX += this.motionX;
|
||||||
|
this.posY += this.motionY;
|
||||||
|
this.posZ += this.motionZ;
|
||||||
|
|
||||||
|
this.motionY -= 0.03;
|
||||||
|
if(motionY < -2.5)
|
||||||
|
motionY = -2.5;
|
||||||
|
|
||||||
|
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air)
|
||||||
|
{
|
||||||
|
if(!this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5 + rand.nextFloat(), true);
|
||||||
|
if(MainRegistry.enableMeteorTails)
|
||||||
|
ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction(20));
|
||||||
|
(new Meteorite()).generate(worldObj, rand, (int)Math.round(this.posX - 0.5D), (int)Math.round(this.posY - 0.5D), (int)Math.round(this.posZ - 0.5D));
|
||||||
|
}
|
||||||
|
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F);
|
||||||
|
this.setDead();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(MainRegistry.enableMeteorTails) {
|
||||||
|
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY + 1.5D, this.posZ, 0.0, 0.0, 0.0));
|
||||||
|
for(int i = 0; i < 10; i++)
|
||||||
|
this.worldObj.spawnEntityInWorld(new EntityGasFlameFX(this.worldObj, this.posX + rand.nextDouble() * 3 - 1.5, this.posY + 1.5D + rand.nextDouble() * 3 - 1.5, this.posZ + rand.nextDouble() * 3 - 1.5, 0.0, 0.1, 0.0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onImpact(MovingObjectPosition p_70184_1_) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public boolean isInRangeToRenderDist(double distance)
|
||||||
|
{
|
||||||
|
return distance < 25000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public int getBrightnessForRender(float p_70070_1_)
|
||||||
|
{
|
||||||
|
return 15728880;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getBrightness(float p_70013_1_)
|
||||||
|
{
|
||||||
|
return 1.0F;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -600,7 +600,7 @@ public class MachineRecipes {
|
|||||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) },
|
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) },
|
||||||
getFurnaceOutput(ModItems.ingot_steel, ModItems.powder_cobalt).copy());
|
getFurnaceOutput(ModItems.ingot_steel, ModItems.powder_cobalt).copy());
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
System.out.println("Unable to register alloy recipes for NEI!");
|
MainRegistry.logger.error("Unable to register alloy recipes for NEI!");
|
||||||
}
|
}
|
||||||
return recipes;
|
return recipes;
|
||||||
}
|
}
|
||||||
@ -1140,7 +1140,7 @@ public class MachineRecipes {
|
|||||||
theWholeThing.add(new DictCouple(stacks.get(i), oreNames));
|
theWholeThing.add(new DictCouple(stacks.get(i), oreNames));
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Added " + theWholeThing.size() + " elements from the Ore Dict!");
|
MainRegistry.logger.info("Added " + theWholeThing.size() + " elements from the Ore Dict!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean doesExist(ItemStack stack) {
|
public boolean doesExist(ItemStack stack) {
|
||||||
@ -1214,8 +1214,8 @@ public class MachineRecipes {
|
|||||||
setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap));
|
setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap));
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Added " + recipesShredder.size() + " in total.");
|
MainRegistry.logger.info("Added " + recipesShredder.size() + " in total.");
|
||||||
System.out.println("Added " + dustCount + " ore dust recipes.");
|
MainRegistry.logger.info("Added " + dustCount + " ore dust recipes.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack canFindDustByName(String s) {
|
public ItemStack canFindDustByName(String s) {
|
||||||
@ -1320,7 +1320,7 @@ public class MachineRecipes {
|
|||||||
System.out.println(recipes.get(j));
|
System.out.println(recipes.get(j));
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
System.out.println("TWT: " + theWholeThing.size() + ", REC: " + recipesShredder.size());
|
MainRegistry.logger.debug("TWT: " + theWholeThing.size() + ", REC: " + recipesShredder.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -78,6 +78,7 @@ import com.hbm.entity.projectile.EntityDischarge;
|
|||||||
import com.hbm.entity.projectile.EntityFire;
|
import com.hbm.entity.projectile.EntityFire;
|
||||||
import com.hbm.entity.projectile.EntityLN2;
|
import com.hbm.entity.projectile.EntityLN2;
|
||||||
import com.hbm.entity.projectile.EntityLaserBeam;
|
import com.hbm.entity.projectile.EntityLaserBeam;
|
||||||
|
import com.hbm.entity.projectile.EntityMeteor;
|
||||||
import com.hbm.entity.projectile.EntityMinerBeam;
|
import com.hbm.entity.projectile.EntityMinerBeam;
|
||||||
import com.hbm.entity.projectile.EntityMiniMIRV;
|
import com.hbm.entity.projectile.EntityMiniMIRV;
|
||||||
import com.hbm.entity.projectile.EntityMiniNuke;
|
import com.hbm.entity.projectile.EntityMiniNuke;
|
||||||
@ -116,6 +117,7 @@ import com.hbm.render.entity.RenderFireball;
|
|||||||
import com.hbm.render.entity.RenderFlare;
|
import com.hbm.render.entity.RenderFlare;
|
||||||
import com.hbm.render.entity.RenderHunterChopper;
|
import com.hbm.render.entity.RenderHunterChopper;
|
||||||
import com.hbm.render.entity.RenderLN2;
|
import com.hbm.render.entity.RenderLN2;
|
||||||
|
import com.hbm.render.entity.RenderMeteor;
|
||||||
import com.hbm.render.entity.RenderMinecartTest;
|
import com.hbm.render.entity.RenderMinecartTest;
|
||||||
import com.hbm.render.entity.RenderMiniMIRV;
|
import com.hbm.render.entity.RenderMiniMIRV;
|
||||||
import com.hbm.render.entity.RenderMiniNuke;
|
import com.hbm.render.entity.RenderMiniNuke;
|
||||||
@ -483,6 +485,7 @@ public class ClientProxy extends ServerProxy
|
|||||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday());
|
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday());
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta());
|
RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta());
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena());
|
RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena());
|
||||||
|
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor());
|
||||||
|
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo());
|
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo());
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo());
|
RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo());
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.hbm.main;
|
package com.hbm.main;
|
||||||
|
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.EnumCreatureType;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
@ -8,6 +9,7 @@ import net.minecraft.item.Item.ToolMaterial;
|
|||||||
import net.minecraft.item.ItemArmor.ArmorMaterial;
|
import net.minecraft.item.ItemArmor.ArmorMaterial;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraftforge.common.ForgeChunkManager;
|
import net.minecraftforge.common.ForgeChunkManager;
|
||||||
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
||||||
import net.minecraftforge.common.ForgeChunkManager.Ticket;
|
import net.minecraftforge.common.ForgeChunkManager.Ticket;
|
||||||
@ -27,6 +29,8 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.creativetabs.BlockTab;
|
import com.hbm.creativetabs.BlockTab;
|
||||||
import com.hbm.creativetabs.MachineTab;
|
import com.hbm.creativetabs.MachineTab;
|
||||||
@ -107,6 +111,7 @@ import com.hbm.entity.projectile.EntityDischarge;
|
|||||||
import com.hbm.entity.projectile.EntityFire;
|
import com.hbm.entity.projectile.EntityFire;
|
||||||
import com.hbm.entity.projectile.EntityLN2;
|
import com.hbm.entity.projectile.EntityLN2;
|
||||||
import com.hbm.entity.projectile.EntityLaserBeam;
|
import com.hbm.entity.projectile.EntityLaserBeam;
|
||||||
|
import com.hbm.entity.projectile.EntityMeteor;
|
||||||
import com.hbm.entity.projectile.EntityMinerBeam;
|
import com.hbm.entity.projectile.EntityMinerBeam;
|
||||||
import com.hbm.entity.projectile.EntityMiniMIRV;
|
import com.hbm.entity.projectile.EntityMiniMIRV;
|
||||||
import com.hbm.entity.projectile.EntityMiniNuke;
|
import com.hbm.entity.projectile.EntityMiniNuke;
|
||||||
@ -235,6 +240,8 @@ public class MainRegistry
|
|||||||
@Metadata
|
@Metadata
|
||||||
public static ModMetadata meta;
|
public static ModMetadata meta;
|
||||||
|
|
||||||
|
public static Logger logger;
|
||||||
|
|
||||||
//Tool Materials
|
//Tool Materials
|
||||||
public static ToolMaterial enumToolMaterialSchrabidium = EnumHelper.addToolMaterial("SCHRABIDIUM", 3, 10000, 50.0F, 100.0F, 200);
|
public static ToolMaterial enumToolMaterialSchrabidium = EnumHelper.addToolMaterial("SCHRABIDIUM", 3, 10000, 50.0F, 100.0F, 200);
|
||||||
public static ToolMaterial enumToolMaterialHammer = EnumHelper.addToolMaterial("SCHRABIDIUMHAMMER", 3, 0, 50.0F, 999999996F, 200);
|
public static ToolMaterial enumToolMaterialHammer = EnumHelper.addToolMaterial("SCHRABIDIUMHAMMER", 3, 0, 50.0F, 999999996F, 200);
|
||||||
@ -329,6 +336,9 @@ public class MainRegistry
|
|||||||
public static boolean enableNITAN = true;
|
public static boolean enableNITAN = true;
|
||||||
public static boolean enableNukeClouds = true;
|
public static boolean enableNukeClouds = true;
|
||||||
public static boolean enableAutoCleanup = false;
|
public static boolean enableAutoCleanup = false;
|
||||||
|
public static boolean enableMeteorStrikes = true;
|
||||||
|
public static boolean enableMeteorShowers = true;
|
||||||
|
public static boolean enableMeteorTails = true;
|
||||||
public static int uraniumSpawn = 7;
|
public static int uraniumSpawn = 7;
|
||||||
public static int titaniumSpawn = 8;
|
public static int titaniumSpawn = 8;
|
||||||
public static int sulfurSpawn = 5;
|
public static int sulfurSpawn = 5;
|
||||||
@ -363,6 +373,9 @@ public class MainRegistry
|
|||||||
public static int factoryStructure = 1000;
|
public static int factoryStructure = 1000;
|
||||||
public static int dudStructure = 500;
|
public static int dudStructure = 500;
|
||||||
public static int spaceshipStructure = 1000;
|
public static int spaceshipStructure = 1000;
|
||||||
|
public static int meteorStrikeChance = 50000;
|
||||||
|
public static int meteorShowerChance = 500;
|
||||||
|
public static int meteorShowerDuration = 6000;
|
||||||
|
|
||||||
public static int polaroidID = 1;
|
public static int polaroidID = 1;
|
||||||
|
|
||||||
@ -375,6 +388,8 @@ public class MainRegistry
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void PreLoad(FMLPreInitializationEvent PreEvent)
|
public void PreLoad(FMLPreInitializationEvent PreEvent)
|
||||||
{
|
{
|
||||||
|
logger = PreEvent.getModLog();
|
||||||
|
|
||||||
//Reroll Polaroid
|
//Reroll Polaroid
|
||||||
polaroidID = rand.nextInt(16) + 1;
|
polaroidID = rand.nextInt(16) + 1;
|
||||||
while(polaroidID == 4 || polaroidID == 9)
|
while(polaroidID == 4 || polaroidID == 9)
|
||||||
@ -585,6 +600,7 @@ public class MainRegistry
|
|||||||
EntityRegistry.registerModEntity(EntityTSmokeFX.class, "entity_t_smoke_fx", 81, this, 1000, 1, true);
|
EntityRegistry.registerModEntity(EntityTSmokeFX.class, "entity_t_smoke_fx", 81, this, 1000, 1, true);
|
||||||
EntityRegistry.registerModEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 82, this, 1000, 1, true);
|
EntityRegistry.registerModEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 82, this, 1000, 1, true);
|
||||||
EntityRegistry.registerModEntity(EntityVortex.class, "entity_vortex", 83, this, 250, 1, true);
|
EntityRegistry.registerModEntity(EntityVortex.class, "entity_vortex", 83, this, 250, 1, true);
|
||||||
|
EntityRegistry.registerModEntity(EntityMeteor.class, "entity_meteor", 84, this, 1000, 1, true);
|
||||||
|
|
||||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||||
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72);
|
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72);
|
||||||
@ -757,6 +773,7 @@ public class MainRegistry
|
|||||||
OreDictionary.registerOre("oreUnobtainium", ModBlocks.ore_unobtainium);
|
OreDictionary.registerOre("oreUnobtainium", ModBlocks.ore_unobtainium);
|
||||||
OreDictionary.registerOre("oreDaffergon", ModBlocks.ore_daffergon);
|
OreDictionary.registerOre("oreDaffergon", ModBlocks.ore_daffergon);
|
||||||
OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium);
|
OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium);
|
||||||
|
OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare);
|
||||||
|
|
||||||
OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium);
|
OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium);
|
||||||
OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium);
|
OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium);
|
||||||
@ -926,121 +943,134 @@ public class MainRegistry
|
|||||||
|
|
||||||
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
|
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
|
||||||
config.load();
|
config.load();
|
||||||
enableDebugMode = config.get(Configuration.CATEGORY_GENERAL, "1.0_enableDebugMode", false).getBoolean(false);
|
enableDebugMode = config.get(Configuration.CATEGORY_GENERAL, "1.00_enableDebugMode", false).getBoolean(false);
|
||||||
enableMycelium = config.get(Configuration.CATEGORY_GENERAL, "1.1_enableMyceliumSpread", false).getBoolean(false);
|
enableMycelium = config.get(Configuration.CATEGORY_GENERAL, "1.01_enableMyceliumSpread", false).getBoolean(false);
|
||||||
enablePlutoniumOre = config.get(Configuration.CATEGORY_GENERAL, "1.2_enablePlutoniumNetherOre", false).getBoolean(false);
|
enablePlutoniumOre = config.get(Configuration.CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false).getBoolean(false);
|
||||||
enableDungeons = config.get(Configuration.CATEGORY_GENERAL, "1.3_enableDungeonSpawn", true).getBoolean(true);
|
enableDungeons = config.get(Configuration.CATEGORY_GENERAL, "1.03_enableDungeonSpawn", true).getBoolean(true);
|
||||||
enableMDOres = config.get(Configuration.CATEGORY_GENERAL, "1.4_enableOresInModdedDimensions", true).getBoolean(true);
|
enableMDOres = config.get(Configuration.CATEGORY_GENERAL, "1.04_enableOresInModdedDimensions", true).getBoolean(true);
|
||||||
enableBarrels = config.get(Configuration.CATEGORY_GENERAL, "1.5_enableNuclearBarrelSpawn", false).getBoolean(false);
|
enableBarrels = config.get(Configuration.CATEGORY_GENERAL, "1.05_enableNuclearBarrelSpawn", false).getBoolean(false);
|
||||||
enableNITAN = config.get(Configuration.CATEGORY_GENERAL, "1.6_enableNITANChestSpawn", true).getBoolean(true);
|
enableNITAN = config.get(Configuration.CATEGORY_GENERAL, "1.06_enableNITANChestSpawn", true).getBoolean(true);
|
||||||
enableNukeClouds = config.get(Configuration.CATEGORY_GENERAL, "1.7_enableMushroomClouds", true).getBoolean(true);
|
enableNukeClouds = config.get(Configuration.CATEGORY_GENERAL, "1.07_enableMushroomClouds", true).getBoolean(true);
|
||||||
enableAutoCleanup = config.get(Configuration.CATEGORY_GENERAL, "1.8_enableAutomaticRadCleanup", false).getBoolean(false);
|
enableAutoCleanup = config.get(Configuration.CATEGORY_GENERAL, "1.08_enableAutomaticRadCleanup", false).getBoolean(false);
|
||||||
|
enableMeteorStrikes = config.get(Configuration.CATEGORY_GENERAL, "1.09_enableMeteorStrikes", true).getBoolean(true);
|
||||||
|
enableMeteorShowers = config.get(Configuration.CATEGORY_GENERAL, "1.10_enableMeteorShowers", true).getBoolean(true);
|
||||||
|
enableMeteorTails = config.get(Configuration.CATEGORY_GENERAL, "1.11_enableMeteorTails", true).getBoolean(true);
|
||||||
|
|
||||||
Property PuraniumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.0_uraniumSpawnrate", 7);
|
Property PuraniumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.00_uraniumSpawnrate", 7);
|
||||||
PuraniumSpawn.comment = "Ammount of uranium ore veins per chunk";
|
PuraniumSpawn.comment = "Ammount of uranium ore veins per chunk";
|
||||||
uraniumSpawn = PuraniumSpawn.getInt();
|
uraniumSpawn = PuraniumSpawn.getInt();
|
||||||
Property PtitaniumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.1_titaniumSpawnrate", 8);
|
Property PtitaniumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.01_titaniumSpawnrate", 8);
|
||||||
PtitaniumSpawn.comment = "Ammount of titanium ore veins per chunk";
|
PtitaniumSpawn.comment = "Ammount of titanium ore veins per chunk";
|
||||||
titaniumSpawn = PtitaniumSpawn.getInt();
|
titaniumSpawn = PtitaniumSpawn.getInt();
|
||||||
Property PsulfurSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.2_sulfurSpawnrate", 5);
|
Property PsulfurSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.02_sulfurSpawnrate", 5);
|
||||||
PsulfurSpawn.comment = "Ammount of sulfur ore veins per chunk";
|
PsulfurSpawn.comment = "Ammount of sulfur ore veins per chunk";
|
||||||
sulfurSpawn = PsulfurSpawn.getInt();
|
sulfurSpawn = PsulfurSpawn.getInt();
|
||||||
Property PaluminiumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.3_aluminiumSpawnrate", 7);
|
Property PaluminiumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.03_aluminiumSpawnrate", 7);
|
||||||
PaluminiumSpawn.comment = "Ammount of aluminium ore veins per chunk";
|
PaluminiumSpawn.comment = "Ammount of aluminium ore veins per chunk";
|
||||||
aluminiumSpawn = PaluminiumSpawn.getInt();
|
aluminiumSpawn = PaluminiumSpawn.getInt();
|
||||||
Property PcopperSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.4_copperSpawnrate", 12);
|
Property PcopperSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.04_copperSpawnrate", 12);
|
||||||
PcopperSpawn.comment = "Ammount of copper ore veins per chunk";
|
PcopperSpawn.comment = "Ammount of copper ore veins per chunk";
|
||||||
copperSpawn = PcopperSpawn.getInt();
|
copperSpawn = PcopperSpawn.getInt();
|
||||||
Property PFluoriteSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.5_fluoriteSpawnrate", 6);
|
Property PFluoriteSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.05_fluoriteSpawnrate", 6);
|
||||||
PFluoriteSpawn.comment = "Ammount of fluorite ore veins per chunk";
|
PFluoriteSpawn.comment = "Ammount of fluorite ore veins per chunk";
|
||||||
fluoriteSpawn = PFluoriteSpawn.getInt();
|
fluoriteSpawn = PFluoriteSpawn.getInt();
|
||||||
Property PNiterSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.6_niterSpawnrate", 6);
|
Property PNiterSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.06_niterSpawnrate", 6);
|
||||||
PNiterSpawn.comment = "Ammount of niter ore veins per chunk";
|
PNiterSpawn.comment = "Ammount of niter ore veins per chunk";
|
||||||
niterSpawn = PNiterSpawn.getInt();
|
niterSpawn = PNiterSpawn.getInt();
|
||||||
Property PtungstenSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.7_tungstenSpawnrate", 10);
|
Property PtungstenSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.07_tungstenSpawnrate", 10);
|
||||||
PtungstenSpawn.comment = "Ammount of tungsten ore veins per chunk";
|
PtungstenSpawn.comment = "Ammount of tungsten ore veins per chunk";
|
||||||
tungstenSpawn = PtungstenSpawn.getInt();
|
tungstenSpawn = PtungstenSpawn.getInt();
|
||||||
Property PleadSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.8_leadSpawnrate", 6);
|
Property PleadSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.08_leadSpawnrate", 6);
|
||||||
PleadSpawn.comment = "Ammount of lead ore veins per chunk";
|
PleadSpawn.comment = "Ammount of lead ore veins per chunk";
|
||||||
leadSpawn = PleadSpawn.getInt();
|
leadSpawn = PleadSpawn.getInt();
|
||||||
Property PberylliumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.9_berylliumSpawnrate", 6);
|
Property PberylliumSpawn = config.get(Configuration.CATEGORY_GENERAL, "2.09_berylliumSpawnrate", 6);
|
||||||
PberylliumSpawn.comment = "Ammount of beryllium ore veins per chunk";
|
PberylliumSpawn.comment = "Ammount of beryllium ore veins per chunk";
|
||||||
berylliumSpawn = PberylliumSpawn.getInt();
|
berylliumSpawn = PberylliumSpawn.getInt();
|
||||||
|
|
||||||
Property propGadget = config.get(Configuration.CATEGORY_GENERAL, "3.0_gadgetRadius", 150);
|
Property propGadget = config.get(Configuration.CATEGORY_GENERAL, "3.00_gadgetRadius", 150);
|
||||||
propGadget.comment = "Radius of the Gadget";
|
propGadget.comment = "Radius of the Gadget";
|
||||||
gadgetRadius = propGadget.getInt();
|
gadgetRadius = propGadget.getInt();
|
||||||
Property propBoy = config.get(Configuration.CATEGORY_GENERAL, "3.1_boyRadius", 120);
|
Property propBoy = config.get(Configuration.CATEGORY_GENERAL, "3.01_boyRadius", 120);
|
||||||
propBoy.comment = "Radius of Little Boy";
|
propBoy.comment = "Radius of Little Boy";
|
||||||
boyRadius = propBoy.getInt();
|
boyRadius = propBoy.getInt();
|
||||||
Property propMan = config.get(Configuration.CATEGORY_GENERAL, "3.2_manRadius", 175);
|
Property propMan = config.get(Configuration.CATEGORY_GENERAL, "3.02_manRadius", 175);
|
||||||
propMan.comment = "Radius of Fat Man";
|
propMan.comment = "Radius of Fat Man";
|
||||||
manRadius = propMan.getInt();
|
manRadius = propMan.getInt();
|
||||||
Property propMike = config.get(Configuration.CATEGORY_GENERAL, "3.3_mikeRadius", 250);
|
Property propMike = config.get(Configuration.CATEGORY_GENERAL, "3.03_mikeRadius", 250);
|
||||||
propMike.comment = "Radius of Ivy Mike";
|
propMike.comment = "Radius of Ivy Mike";
|
||||||
mikeRadius = propMike.getInt();
|
mikeRadius = propMike.getInt();
|
||||||
Property propTsar = config.get(Configuration.CATEGORY_GENERAL, "3.4_tsarRadius", 500);
|
Property propTsar = config.get(Configuration.CATEGORY_GENERAL, "3.04_tsarRadius", 500);
|
||||||
propTsar.comment = "Radius of the Tsar Bomba";
|
propTsar.comment = "Radius of the Tsar Bomba";
|
||||||
tsarRadius = propTsar.getInt();
|
tsarRadius = propTsar.getInt();
|
||||||
Property propPrototype = config.get(Configuration.CATEGORY_GENERAL, "3.5_prototypeRadius", 150);
|
Property propPrototype = config.get(Configuration.CATEGORY_GENERAL, "3.05_prototypeRadius", 150);
|
||||||
propPrototype.comment = "Radius of the Prototype";
|
propPrototype.comment = "Radius of the Prototype";
|
||||||
prototypeRadius = propPrototype.getInt();
|
prototypeRadius = propPrototype.getInt();
|
||||||
Property propFleija = config.get(Configuration.CATEGORY_GENERAL, "3.6_fleijaRadius", 50);
|
Property propFleija = config.get(Configuration.CATEGORY_GENERAL, "3.06_fleijaRadius", 50);
|
||||||
propFleija.comment = "Radius of F.L.E.I.J.A.";
|
propFleija.comment = "Radius of F.L.E.I.J.A.";
|
||||||
fleijaRadius = propFleija.getInt();
|
fleijaRadius = propFleija.getInt();
|
||||||
Property propMissile = config.get(Configuration.CATEGORY_GENERAL, "3.7_missileRadius", 100);
|
Property propMissile = config.get(Configuration.CATEGORY_GENERAL, "3.07_missileRadius", 100);
|
||||||
propMissile.comment = "Radius of the nuclear missile";
|
propMissile.comment = "Radius of the nuclear missile";
|
||||||
missileRadius = propMissile.getInt();
|
missileRadius = propMissile.getInt();
|
||||||
Property propMirv = config.get(Configuration.CATEGORY_GENERAL, "3.8_mirvRadius", 100);
|
Property propMirv = config.get(Configuration.CATEGORY_GENERAL, "3.08_mirvRadius", 100);
|
||||||
propMirv.comment = "Radius of a MIRV";
|
propMirv.comment = "Radius of a MIRV";
|
||||||
mirvRadius = propMirv.getInt();
|
mirvRadius = propMirv.getInt();
|
||||||
Property propFatman = config.get(Configuration.CATEGORY_GENERAL, "3.9_fatmanRadius", 35);
|
Property propFatman = config.get(Configuration.CATEGORY_GENERAL, "3.09_fatmanRadius", 35);
|
||||||
propFatman.comment = "Radius of the Fatman Launcher";
|
propFatman.comment = "Radius of the Fatman Launcher";
|
||||||
fatmanRadius = propFatman.getInt();
|
fatmanRadius = propFatman.getInt();
|
||||||
Property propNuka = config.get(Configuration.CATEGORY_GENERAL, "3.91_nukaRadius", 25);
|
Property propNuka = config.get(Configuration.CATEGORY_GENERAL, "3.10_nukaRadius", 25);
|
||||||
propNuka.comment = "Radius of the nuka grenade";
|
propNuka.comment = "Radius of the nuka grenade";
|
||||||
nukaRadius = propNuka.getInt();
|
nukaRadius = propNuka.getInt();
|
||||||
Property propASchrab = config.get(Configuration.CATEGORY_GENERAL, "3.92_aSchrabRadius", 20);
|
Property propASchrab = config.get(Configuration.CATEGORY_GENERAL, "3.11_aSchrabRadius", 20);
|
||||||
propASchrab.comment = "Radius of dropped anti schrabidium";
|
propASchrab.comment = "Radius of dropped anti schrabidium";
|
||||||
aSchrabRadius = propASchrab.getInt();
|
aSchrabRadius = propASchrab.getInt();
|
||||||
|
|
||||||
Property propRadio = config.get(Configuration.CATEGORY_GENERAL, "4.0_radioSpawn", 500);
|
Property propRadio = config.get(Configuration.CATEGORY_GENERAL, "4.00_radioSpawn", 500);
|
||||||
propRadio.comment = "Spawn radio station on every nTH chunk";
|
propRadio.comment = "Spawn radio station on every nTH chunk";
|
||||||
radioStructure = propRadio.getInt();
|
radioStructure = propRadio.getInt();
|
||||||
Property propAntenna = config.get(Configuration.CATEGORY_GENERAL, "4.1_antennaSpawn", 250);
|
Property propAntenna = config.get(Configuration.CATEGORY_GENERAL, "4.01_antennaSpawn", 250);
|
||||||
propAntenna.comment = "Spawn antenna on every nTH chunk";
|
propAntenna.comment = "Spawn antenna on every nTH chunk";
|
||||||
antennaStructure = propAntenna.getInt();
|
antennaStructure = propAntenna.getInt();
|
||||||
Property propAtom = config.get(Configuration.CATEGORY_GENERAL, "4.2_atomSpawn", 500);
|
Property propAtom = config.get(Configuration.CATEGORY_GENERAL, "4.02_atomSpawn", 500);
|
||||||
propAtom.comment = "Spawn power plant on every nTH chunk";
|
propAtom.comment = "Spawn power plant on every nTH chunk";
|
||||||
atomStructure = propAtom.getInt();
|
atomStructure = propAtom.getInt();
|
||||||
Property propVertibird = config.get(Configuration.CATEGORY_GENERAL, "4.3_vertibirdSpawn", 500);
|
Property propVertibird = config.get(Configuration.CATEGORY_GENERAL, "4.03_vertibirdSpawn", 500);
|
||||||
propVertibird.comment = "Spawn vertibird on every nTH chunk";
|
propVertibird.comment = "Spawn vertibird on every nTH chunk";
|
||||||
vertibirdStructure = propVertibird.getInt();
|
vertibirdStructure = propVertibird.getInt();
|
||||||
Property propDungeon = config.get(Configuration.CATEGORY_GENERAL, "4.4_dungeonSpawn", 64);
|
Property propDungeon = config.get(Configuration.CATEGORY_GENERAL, "4.04_dungeonSpawn", 64);
|
||||||
propDungeon.comment = "Spawn library dungeon on every nTH chunk";
|
propDungeon.comment = "Spawn library dungeon on every nTH chunk";
|
||||||
dungeonStructure = propDungeon.getInt();
|
dungeonStructure = propDungeon.getInt();
|
||||||
Property propRelay = config.get(Configuration.CATEGORY_GENERAL, "4.5_relaySpawn", 500);
|
Property propRelay = config.get(Configuration.CATEGORY_GENERAL, "4.05_relaySpawn", 500);
|
||||||
propRelay.comment = "Spawn relay on every nTH chunk";
|
propRelay.comment = "Spawn relay on every nTH chunk";
|
||||||
relayStructure = propRelay.getInt();
|
relayStructure = propRelay.getInt();
|
||||||
Property propSatellite = config.get(Configuration.CATEGORY_GENERAL, "4.6_satelliteSpawn", 500);
|
Property propSatellite = config.get(Configuration.CATEGORY_GENERAL, "4.06_satelliteSpawn", 500);
|
||||||
propSatellite.comment = "Spawn satellite dish on every nTH chunk";
|
propSatellite.comment = "Spawn satellite dish on every nTH chunk";
|
||||||
satelliteStructure = propSatellite.getInt();
|
satelliteStructure = propSatellite.getInt();
|
||||||
Property propBunker = config.get(Configuration.CATEGORY_GENERAL, "4.7_bunkerSpawn", 1000);
|
Property propBunker = config.get(Configuration.CATEGORY_GENERAL, "4.07_bunkerSpawn", 1000);
|
||||||
propBunker.comment = "Spawn bunker on every nTH chunk";
|
propBunker.comment = "Spawn bunker on every nTH chunk";
|
||||||
bunkerStructure = propBunker.getInt();
|
bunkerStructure = propBunker.getInt();
|
||||||
Property propSilo = config.get(Configuration.CATEGORY_GENERAL, "4.8_siloSpawn", 1000);
|
Property propSilo = config.get(Configuration.CATEGORY_GENERAL, "4.08_siloSpawn", 1000);
|
||||||
propSilo.comment = "Spawn missile silo on every nTH chunk";
|
propSilo.comment = "Spawn missile silo on every nTH chunk";
|
||||||
siloStructure = propSilo.getInt();
|
siloStructure = propSilo.getInt();
|
||||||
Property propFactory = config.get(Configuration.CATEGORY_GENERAL, "4.9_factorySpawn", 1000);
|
Property propFactory = config.get(Configuration.CATEGORY_GENERAL, "4.09_factorySpawn", 1000);
|
||||||
propFactory.comment = "Spawn factory on every nTH chunk";
|
propFactory.comment = "Spawn factory on every nTH chunk";
|
||||||
factoryStructure = propFactory.getInt();
|
factoryStructure = propFactory.getInt();
|
||||||
Property propDud = config.get(Configuration.CATEGORY_GENERAL, "4.91_dudSpawn", 500);
|
Property propDud = config.get(Configuration.CATEGORY_GENERAL, "4.10_dudSpawn", 500);
|
||||||
propDud.comment = "Spawn dud on every nTH chunk";
|
propDud.comment = "Spawn dud on every nTH chunk";
|
||||||
dudStructure = propDud.getInt();
|
dudStructure = propDud.getInt();
|
||||||
Property propSpaceship = config.get(Configuration.CATEGORY_GENERAL, "4.92_spaceshipSpawn", 1000);
|
Property propSpaceship = config.get(Configuration.CATEGORY_GENERAL, "4.11_spaceshipSpawn", 1000);
|
||||||
propSpaceship.comment = "Spawn spaceship on every nTH chunk";
|
propSpaceship.comment = "Spawn spaceship on every nTH chunk";
|
||||||
spaceshipStructure = propSpaceship.getInt();
|
spaceshipStructure = propSpaceship.getInt();
|
||||||
|
|
||||||
|
Property propMeteorStrikeChance = config.get(Configuration.CATEGORY_GENERAL, "5.00_meteorStrikeChance", 50000);
|
||||||
|
propMeteorStrikeChance.comment = "The probability of a meteor spawning (an average of once every nTH ticks)";
|
||||||
|
meteorStrikeChance = propMeteorStrikeChance.getInt();
|
||||||
|
Property propMeteorShowerChance = config.get(Configuration.CATEGORY_GENERAL, "5.01_meteorShowerChance", 500);
|
||||||
|
propMeteorShowerChance.comment = "The probability of a meteor spawning during meteor shower (an average of once every nTH ticks)";
|
||||||
|
meteorShowerChance = propMeteorShowerChance.getInt();
|
||||||
|
Property propMeteorShowerDuration = config.get(Configuration.CATEGORY_GENERAL, "5.02_meteorShowerDuration", 6000);
|
||||||
|
propMeteorShowerDuration.comment = "Max duration of meteor shower in ticks";
|
||||||
|
meteorShowerDuration = propMeteorShowerDuration.getInt();
|
||||||
|
|
||||||
config.save();
|
config.save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,14 +1,18 @@
|
|||||||
package com.hbm.main;
|
package com.hbm.main;
|
||||||
|
|
||||||
|
import com.hbm.entity.projectile.EntityMeteor;
|
||||||
import com.hbm.lib.RefStrings;
|
import com.hbm.lib.RefStrings;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||||
|
import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.util.ChatComponentText;
|
import net.minecraft.util.ChatComponentText;
|
||||||
|
|
||||||
public class ModEventHandler
|
public class ModEventHandler
|
||||||
{
|
{
|
||||||
public static boolean showMessage = true;
|
public static boolean showMessage = true;
|
||||||
|
public static int meteorShower = 0;
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) {
|
public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) {
|
||||||
@ -20,6 +24,38 @@ public class ModEventHandler
|
|||||||
showMessage = !showMessage;
|
showMessage = !showMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void worldTick(WorldTickEvent event) {
|
||||||
|
if(event.world != null && !event.world.isRemote && event.world.provider.isSurfaceWorld() && MainRegistry.enableMeteorStrikes) {
|
||||||
|
if(event.world.rand.nextInt(meteorShower > 0 ? MainRegistry.meteorShowerChance : MainRegistry.meteorStrikeChance) == 0) {
|
||||||
|
if(!event.world.playerEntities.isEmpty()) {
|
||||||
|
EntityPlayer p = (EntityPlayer)event.world.playerEntities.get(event.world.rand.nextInt(event.world.playerEntities.size()));
|
||||||
|
EntityMeteor meteor = new EntityMeteor(event.world);
|
||||||
|
meteor.posX = p.posX + event.world.rand.nextInt(201) - 100;
|
||||||
|
meteor.posY = 384;
|
||||||
|
meteor.posZ = p.posZ + event.world.rand.nextInt(201) - 100;
|
||||||
|
meteor.motionX = event.world.rand.nextDouble() - 0.5;
|
||||||
|
meteor.motionY = -2.5;
|
||||||
|
meteor.motionZ = event.world.rand.nextDouble() - 0.5;
|
||||||
|
event.world.spawnEntityInWorld(meteor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(meteorShower > 0) {
|
||||||
|
meteorShower--;
|
||||||
|
if(meteorShower == 0)
|
||||||
|
MainRegistry.logger.info("Ended meteor shower.");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(event.world.rand.nextInt(MainRegistry.meteorStrikeChance * 100) == 0 && MainRegistry.enableMeteorShowers) {
|
||||||
|
meteorShower =
|
||||||
|
(int)(MainRegistry.meteorShowerDuration * 0.75 +
|
||||||
|
MainRegistry.meteorShowerDuration * 0.25 * event.world.rand.nextFloat());
|
||||||
|
MainRegistry.logger.info("Started meteor shower! Duration: " + meteorShower);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*@SubscribeEvent
|
/*@SubscribeEvent
|
||||||
public void itemSmelted(PlayerEvent.ItemSmeltedEvent e) {
|
public void itemSmelted(PlayerEvent.ItemSmeltedEvent e) {
|
||||||
if(e.smelting.getItem().equals(ModItems.ingot_titanium)) {
|
if(e.smelting.getItem().equals(ModItems.ingot_titanium)) {
|
||||||
|
|||||||
95
com/hbm/render/entity/RenderMeteor.java
Normal file
95
com/hbm/render/entity/RenderMeteor.java
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
package com.hbm.render.entity;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.lib.RefStrings;
|
||||||
|
import com.hbm.render.model.ModelRubble;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
|
import net.minecraft.client.renderer.entity.Render;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class RenderMeteor extends Render {
|
||||||
|
|
||||||
|
public RenderMeteor() { }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
|
||||||
|
float p_76986_9_) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
|
||||||
|
GL11.glScalef(1.0F, 1.0F, 1.0F);
|
||||||
|
GL11.glRotatef(180, 1, 0, 0);
|
||||||
|
GL11.glRotatef((rocket.ticksExisted % 360) * 10, 1, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
|
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||||
|
GL11.glScalef(5.0F, 5.0F, 5.0F);
|
||||||
|
renderBlock(getEntityTexture(rocket), 0, 0, 0);
|
||||||
|
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderBlock(ResourceLocation loc1, double x, double y, double z) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated(x, y, z);
|
||||||
|
GL11.glRotatef(180, 0F, 0F, 1F);
|
||||||
|
Tessellator tesseract = Tessellator.instance;
|
||||||
|
tesseract.startDrawingQuads();
|
||||||
|
tesseract.addVertexWithUV(-0.5, -0.5, -0.5, 1, 0);
|
||||||
|
tesseract.addVertexWithUV(+0.5, -0.5, -0.5, 0, 0);
|
||||||
|
tesseract.addVertexWithUV(+0.5, +0.5, -0.5, 0, 1);
|
||||||
|
tesseract.addVertexWithUV(-0.5, +0.5, -0.5, 1, 1);
|
||||||
|
this.bindTexture(loc1);
|
||||||
|
tesseract.draw();
|
||||||
|
|
||||||
|
tesseract.startDrawingQuads();
|
||||||
|
tesseract.addVertexWithUV(-0.5, -0.5, +0.5, 1, 0);
|
||||||
|
tesseract.addVertexWithUV(-0.5, -0.5, -0.5, 0, 0);
|
||||||
|
tesseract.addVertexWithUV(-0.5, +0.5, -0.5, 0, 1);
|
||||||
|
tesseract.addVertexWithUV(-0.5, +0.5, +0.5, 1, 1);
|
||||||
|
this.bindTexture(loc1);
|
||||||
|
tesseract.draw();
|
||||||
|
|
||||||
|
tesseract.startDrawingQuads();
|
||||||
|
tesseract.addVertexWithUV(+0.5, -0.5, +0.5, 1, 0);
|
||||||
|
tesseract.addVertexWithUV(-0.5, -0.5, +0.5, 0, 0);
|
||||||
|
tesseract.addVertexWithUV(-0.5, +0.5, +0.5, 0, 1);
|
||||||
|
tesseract.addVertexWithUV(+0.5, +0.5, +0.5, 1, 1);
|
||||||
|
this.bindTexture(loc1);
|
||||||
|
tesseract.draw();
|
||||||
|
|
||||||
|
tesseract.startDrawingQuads();
|
||||||
|
tesseract.addVertexWithUV(+0.5, -0.5, -0.5, 1, 0);
|
||||||
|
tesseract.addVertexWithUV(+0.5, -0.5, +0.5, 0, 0);
|
||||||
|
tesseract.addVertexWithUV(+0.5, +0.5, +0.5, 0, 1);
|
||||||
|
tesseract.addVertexWithUV(+0.5, +0.5, -0.5, 1, 1);
|
||||||
|
this.bindTexture(loc1);
|
||||||
|
tesseract.draw();
|
||||||
|
|
||||||
|
tesseract.startDrawingQuads();
|
||||||
|
tesseract.addVertexWithUV(-0.5, -0.5, +0.5, 1, 0);
|
||||||
|
tesseract.addVertexWithUV(+0.5, -0.5, +0.5, 0, 0);
|
||||||
|
tesseract.addVertexWithUV(+0.5, -0.5, -0.5, 0, 1);
|
||||||
|
tesseract.addVertexWithUV(-0.5, -0.5, -0.5, 1, 1);
|
||||||
|
this.bindTexture(loc1);
|
||||||
|
tesseract.draw();
|
||||||
|
|
||||||
|
tesseract.startDrawingQuads();
|
||||||
|
tesseract.addVertexWithUV(+0.5, +0.5, +0.5, 1, 0);
|
||||||
|
tesseract.addVertexWithUV(-0.5, +0.5, +0.5, 0, 0);
|
||||||
|
tesseract.addVertexWithUV(-0.5, +0.5, -0.5, 0, 1);
|
||||||
|
tesseract.addVertexWithUV(+0.5, +0.5, -0.5, 1, 1);
|
||||||
|
this.bindTexture(loc1);
|
||||||
|
tesseract.draw();
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||||
|
return new ResourceLocation(RefStrings.MODID + ":textures/blocks/block_meteor_molten.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -54,7 +54,9 @@ public class Meteorite {
|
|||||||
//0 - Meteor
|
//0 - Meteor
|
||||||
//1 - Treasure
|
//1 - Treasure
|
||||||
//2 - Ore
|
//2 - Ore
|
||||||
int core = rand.nextInt(3);
|
int core = rand.nextInt(2);
|
||||||
|
if(innerPadding > 0)
|
||||||
|
core = 2;
|
||||||
|
|
||||||
List<ItemStack> hullL = new ArrayList<ItemStack>();
|
List<ItemStack> hullL = new ArrayList<ItemStack>();
|
||||||
switch(hull) {
|
switch(hull) {
|
||||||
@ -65,7 +67,9 @@ public class Meteorite {
|
|||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
hullL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
hullL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
hullL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_molten));
|
hullL.add(new ItemStack(ModBlocks.block_meteor_molten));
|
||||||
@ -79,7 +83,9 @@ public class Meteorite {
|
|||||||
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
opL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
opL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
opL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
@ -90,7 +96,9 @@ public class Meteorite {
|
|||||||
List<ItemStack> ipL = new ArrayList<ItemStack>();
|
List<ItemStack> ipL = new ArrayList<ItemStack>();
|
||||||
switch(innerPadding) {
|
switch(innerPadding) {
|
||||||
case 0:
|
case 0:
|
||||||
ipL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
ipL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
ipL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
ipL.add(new ItemStack(Blocks.stone));
|
ipL.add(new ItemStack(Blocks.stone));
|
||||||
@ -157,7 +165,9 @@ public class Meteorite {
|
|||||||
//0 - Meteor
|
//0 - Meteor
|
||||||
//1 - Treasure
|
//1 - Treasure
|
||||||
//2 - Ore
|
//2 - Ore
|
||||||
int core = rand.nextInt(3);
|
int core = rand.nextInt(2);
|
||||||
|
if(innerPadding > 0)
|
||||||
|
core = 2;
|
||||||
|
|
||||||
List<ItemStack> hullL = new ArrayList<ItemStack>();
|
List<ItemStack> hullL = new ArrayList<ItemStack>();
|
||||||
switch(hull) {
|
switch(hull) {
|
||||||
@ -168,7 +178,9 @@ public class Meteorite {
|
|||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
hullL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
hullL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
hullL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_molten));
|
hullL.add(new ItemStack(ModBlocks.block_meteor_molten));
|
||||||
@ -182,7 +194,9 @@ public class Meteorite {
|
|||||||
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
opL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
opL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
opL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
opL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
@ -193,7 +207,9 @@ public class Meteorite {
|
|||||||
List<ItemStack> ipL = new ArrayList<ItemStack>();
|
List<ItemStack> ipL = new ArrayList<ItemStack>();
|
||||||
switch(innerPadding) {
|
switch(innerPadding) {
|
||||||
case 0:
|
case 0:
|
||||||
ipL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
ipL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
ipL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
ipL.add(new ItemStack(Blocks.stone));
|
ipL.add(new ItemStack(Blocks.stone));
|
||||||
@ -273,7 +289,9 @@ public class Meteorite {
|
|||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
hullL.add(new ItemStack(ModBlocks.block_meteor_cobble));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
for(int i = 0; i < 99; i++)
|
||||||
|
hullL.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||||
|
hullL.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
hullL.add(new ItemStack(ModBlocks.block_meteor_molten));
|
hullL.add(new ItemStack(ModBlocks.block_meteor_molten));
|
||||||
@ -512,6 +530,12 @@ public class Meteorite {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(rand.nextInt(5) == 3) {
|
||||||
|
List<ItemStack> list = new ArrayList<ItemStack>();
|
||||||
|
list.add(new ItemStack(ModBlocks.ore_rare, 1).copy());
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
if(ores.isEmpty()) {
|
if(ores.isEmpty()) {
|
||||||
List<ItemStack> list = new ArrayList<ItemStack>();
|
List<ItemStack> list = new ArrayList<ItemStack>();
|
||||||
list.add(new ItemStack(Blocks.iron_ore, 1).copy());
|
list.add(new ItemStack(Blocks.iron_ore, 1).copy());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user