soyuz launcher textures, launch sequence, new particles, package cleanup

This commit is contained in:
HbmMods 2020-04-26 22:54:47 +02:00
parent d26f710679
commit a6771747a8
140 changed files with 2248 additions and 132 deletions

View File

@ -1887,6 +1887,8 @@ item.missile_skin_metal.name=Raketenskin: Metall
item.missile_custom.name=Spezialgefertigte Rakete
item.missile_carrier.name=HTR-01 Trägerrakete
item.missile_soyuz.name=Soyuz-FG
item.missile_soyuz_lander.name=Soyuz-Orbitalmodul
item.sat_mapper.name=Oberflächen-Abtastungssatellit
item.sat_scanner.name=Satellit mit Tiefenscanning-Modul
item.sat_radar.name=Radar-Überwachungssatellit

View File

@ -1887,6 +1887,8 @@ item.missile_skin_metal.name=Missile Skin: Metal
item.missile_custom.name=Custom Missile
item.missile_carrier.name=HTR-01 Carrier Rocket
item.missile_soyuz.name=Soyuz-FG
item.missile_soyuz_lander.name=Soyuz Orbital Module
item.sat_mapper.name=Surface Mapping Satellite
item.sat_scanner.name=Satellite with Depth-Resource Scanning Module
item.sat_radar.name=Radar Survey Satellite

File diff suppressed because it is too large Load Diff

View File

@ -32,6 +32,7 @@
"block.missileAssembly2": {"category": "block", "sounds": [{"name": "block/missileAssembly2", "stream": false}]},
"block.openDoor": {"category": "block", "sounds": ["block/door_open_1", "block/door_open_2"]},
"block.closeDoor": {"category": "block", "sounds": ["block/door_close_1", "block/door_close_2"]},
"block.soyuzReady": {"category": "block", "sounds": [{"name": "block/soyuzReady", "stream": false}]},
"item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]},
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,3 @@
{
"animation": {}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 271 B

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 308 B

View File

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 509 B

After

Width:  |  Height:  |  Size: 509 B

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 689 B

After

Width:  |  Height:  |  Size: 689 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 410 B

After

Width:  |  Height:  |  Size: 410 B

View File

Before

Width:  |  Height:  |  Size: 861 B

After

Width:  |  Height:  |  Size: 861 B

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 529 B

After

Width:  |  Height:  |  Size: 529 B

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 871 B

After

Width:  |  Height:  |  Size: 871 B

View File

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 422 B

View File

Before

Width:  |  Height:  |  Size: 562 B

After

Width:  |  Height:  |  Size: 562 B

View File

Before

Width:  |  Height:  |  Size: 398 B

After

Width:  |  Height:  |  Size: 398 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 442 B

View File

Before

Width:  |  Height:  |  Size: 532 B

After

Width:  |  Height:  |  Size: 532 B

View File

Before

Width:  |  Height:  |  Size: 452 B

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 505 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 963 B

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

View File

@ -0,0 +1,142 @@
package com.hbm.entity.missile;
import java.util.List;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.world.World;
public class EntitySoyuz extends Entity {
double acceleration = 0.00D;
public int mode;
private ItemStack[] payload;
public EntitySoyuz(World p_i1582_1_) {
super(p_i1582_1_);
this.ignoreFrustumCheck = true;
this.setSize(5.0F, 50.0F);
payload = new ItemStack[18];
}
@Override
public void onUpdate() {
if(motionY < 2.0D) {
acceleration += 0.00025D;
motionY += acceleration;
}
this.setLocationAndAngles(posX + this.motionX, posY + this.motionY, posZ + this.motionZ, 0, 0);
if(!worldObj.isRemote) {
//if(this.ticksExisted < 20) {
// ExplosionLarge.spawnShock(worldObj, posX, posY, posZ, 13 + rand.nextInt(3), 4 + rand.nextGaussian() * 2);
//}
}
if(worldObj.isRemote) {
spawnExhaust(posX, posY, posZ);
spawnExhaust(posX + 2.75, posY, posZ);
spawnExhaust(posX - 2.75, posY, posZ);
spawnExhaust(posX, posY, posZ + 2.75);
spawnExhaust(posX, posY, posZ - 2.75);
}
if(this.posY > 600) {
deployPayload();
}
}
private void spawnExhaust(double x, double y, double z) {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "exhaust");
data.setString("mode", "soyuz");
data.setInteger("count", 2);
data.setDouble("width", worldObj.rand.nextDouble() * 0.35 - 0.7);
data.setDouble("posX", x);
data.setDouble("posY", y);
data.setDouble("posZ", z);
MainRegistry.proxy.effectNT(data);
}
private void deployPayload() {
if(mode == 0 && payload != null) {
}
this.setDead();
}
@Override
protected void entityInit() {
this.dataWatcher.addObject(8, 0);
}
public void setSat(ItemStack stack) {
this.payload[0] = stack;
}
public void setPayload(List<ItemStack> payload) {
for(int i = 0; i < payload.size(); i++) {
this.payload[i] = payload.get(i);
}
}
public void setSkin(int i) {
this.dataWatcher.updateObject(8, i);
}
public int getSkin() {
return this.dataWatcher.getWatchableObjectInt(8);
}
@Override
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance)
{
return distance < 500000;
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
NBTTagList list = nbt.getTagList("items", 10);
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < payload.length) {
payload[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeEntityToNBT(NBTTagCompound nbt) {
NBTTagList list = new NBTTagList();
for (int i = 0; i < payload.length; i++) {
if (payload[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
payload[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
}

View File

@ -10,6 +10,7 @@ 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.nbt.NBTTagCompound;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
@ -47,18 +48,33 @@ public class EntityMeteor extends EntityThrowable {
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));
if(MainRegistry.enableMeteorTails) {
ExplosionLarge.spawnParticles(worldObj, posX, posY + 5, posZ, 75);
ExplosionLarge.spawnParticles(worldObj, posX + 5, posY, posZ, 75);
ExplosionLarge.spawnParticles(worldObj, posX - 5, posY, posZ, 75);
ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ + 5, 75);
ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ - 5, 75);
}
(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));
if(MainRegistry.enableMeteorTails && worldObj.isRemote) {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "exhaust");
data.setString("mode", "meteor");
data.setInteger("count", 10);
data.setDouble("width", 1);
data.setDouble("posX", posX - motionX);
data.setDouble("posY", posY - motionY);
data.setDouble("posZ", posZ - motionZ);
MainRegistry.proxy.effectNT(data);
}
}
@ -71,7 +87,7 @@ public class EntityMeteor extends EntityThrowable {
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance)
{
return distance < 25000;
return distance < 500000;
}
@Override

View File

@ -2104,10 +2104,10 @@ public class MachineRecipes {
ItemStack sta = shredderRecipes.get(new StackWrapper(stack));
if(sta != null)
/*if(sta != null)
System.out.println(stack.getDisplayName() + " resulted " + sta.getDisplayName());
else
System.out.println(stack.getDisplayName() + " resulted null");
System.out.println(stack.getDisplayName() + " resulted null");*/
return sta == null ? new ItemStack(ModItems.scrap) : sta;
}
@ -2743,7 +2743,7 @@ public class MachineRecipes {
list.add(new ItemStack(ModItems.plate_iron, 2));
break;
case W_A:
list.add(new ItemStack(ModItems.ingot_advanced_alloy, 5));
list.add(new ItemStack(ModItems.ingot_desh, 5));
list.add(new ItemStack(ModItems.plate_iron, 2));
break;
case UPGRADE_TEMPLATE:

View File

@ -52,8 +52,10 @@ public class ContainerCoreInjector extends Container {
{
return null;
}
} else {
return null;
}
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);

View File

@ -129,6 +129,7 @@ public class ModItems {
public static Item ingot_starmetal;
public static Item ingot_saturnite;
public static Item plate_saturnite;
public static Item ingot_electronium;
public static Item nugget_th232;
public static Item nugget_uranium;
@ -1025,6 +1026,7 @@ public class ModItems {
public static Item missile_carrier;
public static Item missile_soyuz;
public static Item missile_soyuz_lander;
public static Item sat_mapper;
public static Item sat_scanner;
public static Item sat_radar;
@ -1908,6 +1910,7 @@ public class ModItems {
plate_saturnite = new ItemCustomLore().setUnlocalizedName("plate_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_saturnite");
ingot_fiberglass = new ItemCustomLore().setUnlocalizedName("ingot_fiberglass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_fiberglass");
ingot_asbestos = new ItemCustomLore().setUnlocalizedName("ingot_asbestos").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_asbestos");
ingot_electronium = new ItemCustomLore().setUnlocalizedName("ingot_electronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_electronium");
ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium");
ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_actinium");
@ -2577,7 +2580,8 @@ public class ModItems {
missile_schrabidium = new Item().setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium");
missile_emp = new Item().setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp");
missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_carrier");
missile_soyuz = new Item().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz");
missile_soyuz = new ItemSoyuz().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz");
missile_soyuz_lander = new Item().setUnlocalizedName("missile_soyuz_lander").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz_lander");
missile_custom = new ItemCustomMissile().setUnlocalizedName("missile_custom").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_custom");
sat_mapper = new ItemSatChip().setUnlocalizedName("sat_mapper").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_mapper");
sat_scanner = new ItemSatChip().setUnlocalizedName("sat_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_scanner");
@ -2860,7 +2864,7 @@ public class ModItems {
gun_uzi_saturnite_silencer = new ItemGunBase(Gun22LRFactory.getSaturniteConfig().silenced()).setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer");
gun_uboinik_ammo = new Item().setUnlocalizedName("gun_uboinik_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_uboinik_ammo");
gun_uboinik = new ItemGunBase(Gun12GaugeFactory.getUboinikConfig()).setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_supershotgun = new ItemGunBase(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_supershotgun = new ItemGunShotty(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_lever_action_ammo = new Item().setUnlocalizedName("gun_lever_action_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_lever_action_ammo");
gun_lever_action = new ItemGunBase(Gun20GaugeFactory.getMareConfig()).setUnlocalizedName("gun_lever_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action");
gun_lever_action_dark = new ItemGunBase(Gun20GaugeFactory.getMareDarkConfig()).setUnlocalizedName("gun_lever_action_dark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_dark");
@ -3612,6 +3616,7 @@ public class ModItems {
GameRegistry.registerItem(ingot_saturnite, ingot_saturnite.getUnlocalizedName());
GameRegistry.registerItem(ingot_euphemium, ingot_euphemium.getUnlocalizedName());
GameRegistry.registerItem(ingot_dineutronium, ingot_dineutronium.getUnlocalizedName());
GameRegistry.registerItem(ingot_electronium, ingot_electronium.getUnlocalizedName());
//Dusts & Other
GameRegistry.registerItem(lithium, lithium.getUnlocalizedName());
@ -4451,6 +4456,7 @@ public class ModItems {
GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName());
GameRegistry.registerItem(missile_carrier, missile_carrier.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.getUnlocalizedName());
GameRegistry.registerItem(missile_custom, missile_custom.getUnlocalizedName());
//Missile Parts

View File

@ -0,0 +1,55 @@
package com.hbm.items.special;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemSoyuz extends Item {
public ItemSoyuz() {
this.setHasSubtypes(true);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list) {
list.add(new ItemStack(item, 1, 0));
list.add(new ItemStack(item, 1, 1));
list.add(new ItemStack(item, 1, 2));
}
@Override
public EnumRarity getRarity(ItemStack stack) {
if(stack.getItemDamage() == 0)
return EnumRarity.uncommon;
if(stack.getItemDamage() == 1)
return EnumRarity.rare;
if(stack.getItemDamage() == 2)
return EnumRarity.epic;
return EnumRarity.common;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
list.add("Skin:");
switch(stack.getItemDamage()) {
case 0: list.add(EnumChatFormatting.GOLD + "Original"); break;
case 1: list.add(EnumChatFormatting.BLUE + "Luna Space Center"); break;
case 2: list.add(EnumChatFormatting.GREEN + "Post War"); break;
}
}
}

View File

@ -29,7 +29,7 @@ public class ItemSatChip extends Item {
list.add("Displays currently loaded chunks.");
if(this == ModItems.sat_miner)
list.add("Will deliver ore powders to a caargo landing pad.");
list.add("Will deliver ore powders to a cargo landing pad.");
if(this == ModItems.sat_radar)
list.add("Shows a map of active entities.");

View File

@ -0,0 +1,24 @@
package com.hbm.items.weapon;
import com.hbm.handler.GunConfiguration;
import com.hbm.lib.Library;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class ItemGunShotty extends ItemGunBase {
public ItemGunShotty(GunConfiguration config) {
super(config);
}
protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) {
super.updateServer(stack, world, player, slot, isCurrentItem);
if(player.getUniqueID().toString().equals(Library.Dr_Nostalgia) && this.getDelay(stack) < this.mainConfig.rateOfFire * 0.9)
this.setDelay(stack, 0);
}
}

View File

@ -67,6 +67,8 @@ public class Library {
public static String Hoboy03new = "d7f29d9c-5103-4f6f-88e1-2632ff95973f";
public static String Dragon59MC = "dc23a304-0f84-4e2d-b47d-84c8d3bfbcdb";
public static String Steelcourage = "ac49720b-4a9a-4459-a26f-bee92160287a";
public static String GOD___TM = "57146e3f-16b5-4e9f-b0b8-139bec2ca2cb";
public static String ZippySqrl = "03c20435-a229-489a-a1a1-671b803f7017";
public static List<String> superuser = new ArrayList<String>();

View File

@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityCloudFX;
import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
@ -31,9 +32,76 @@ import com.hbm.items.ModItems;
import com.hbm.particle.ParticleContrail;
import com.hbm.particle.ParticleExSmoke;
import com.hbm.particle.ParticleRadiationFog;
import com.hbm.particle.ParticleRocketFlame;
import com.hbm.particle.ParticleSmokePlume;
import com.hbm.render.block.*;
import com.hbm.render.entity.*;
import com.hbm.render.entity.effect.ElectricityRenderer;
import com.hbm.render.entity.effect.FogRenderer;
import com.hbm.render.entity.effect.GasFlameRenderer;
import com.hbm.render.entity.effect.GasRenderer;
import com.hbm.render.entity.effect.MultiCloudRenderer;
import com.hbm.render.entity.effect.RenderBigNuke;
import com.hbm.render.entity.effect.RenderBlackHole;
import com.hbm.render.entity.effect.RenderCloudFleija;
import com.hbm.render.entity.effect.RenderCloudRainbow;
import com.hbm.render.entity.effect.RenderCloudSolinium;
import com.hbm.render.entity.effect.RenderDeathBlast;
import com.hbm.render.entity.effect.RenderEMPBlast;
import com.hbm.render.entity.effect.RenderFallout;
import com.hbm.render.entity.effect.RenderFireball;
import com.hbm.render.entity.effect.RenderFlare;
import com.hbm.render.entity.effect.RenderNoCloud;
import com.hbm.render.entity.effect.RenderSmallNukeMK3;
import com.hbm.render.entity.effect.SSmokeRenderer;
import com.hbm.render.entity.effect.SpillRenderer;
import com.hbm.render.entity.effect.TSmokeRenderer;
import com.hbm.render.entity.item.RenderBomber;
import com.hbm.render.entity.item.RenderMinecartTest;
import com.hbm.render.entity.mob.RenderCyberCrab;
import com.hbm.render.entity.mob.RenderHunterChopper;
import com.hbm.render.entity.mob.RenderNuclearCreeper;
import com.hbm.render.entity.mob.RenderTaintedCreeper;
import com.hbm.render.entity.projectile.RenderBaleflare;
import com.hbm.render.entity.projectile.RenderBeam;
import com.hbm.render.entity.projectile.RenderBeam2;
import com.hbm.render.entity.projectile.RenderBeam3;
import com.hbm.render.entity.projectile.RenderBeam4;
import com.hbm.render.entity.projectile.RenderBeam5;
import com.hbm.render.entity.projectile.RenderBeam6;
import com.hbm.render.entity.projectile.RenderBombletSelena;
import com.hbm.render.entity.projectile.RenderBombletTheta;
import com.hbm.render.entity.projectile.RenderBoxcar;
import com.hbm.render.entity.projectile.RenderBullet;
import com.hbm.render.entity.projectile.RenderChopperMine;
import com.hbm.render.entity.projectile.RenderFOEQ;
import com.hbm.render.entity.projectile.RenderFallingNuke;
import com.hbm.render.entity.projectile.RenderLN2;
import com.hbm.render.entity.projectile.RenderLaser;
import com.hbm.render.entity.projectile.RenderMeteor;
import com.hbm.render.entity.projectile.RenderMiniMIRV;
import com.hbm.render.entity.projectile.RenderMiniNuke;
import com.hbm.render.entity.projectile.RenderMirv;
import com.hbm.render.entity.projectile.RenderOminousBullet;
import com.hbm.render.entity.projectile.RenderRainbow;
import com.hbm.render.entity.projectile.RenderRocket;
import com.hbm.render.entity.projectile.RenderRubble;
import com.hbm.render.entity.projectile.RenderSRocket;
import com.hbm.render.entity.projectile.RenderShrapnel;
import com.hbm.render.entity.projectile.RenderTom;
import com.hbm.render.entity.rocket.RenderBoosterMissile;
import com.hbm.render.entity.rocket.RenderCarrierMissile;
import com.hbm.render.entity.rocket.RenderMinerRocket;
import com.hbm.render.entity.rocket.RenderMissileCustom;
import com.hbm.render.entity.rocket.RenderMissileDoomsday;
import com.hbm.render.entity.rocket.RenderMissileGeneric;
import com.hbm.render.entity.rocket.RenderMissileHuge;
import com.hbm.render.entity.rocket.RenderMissileMirv;
import com.hbm.render.entity.rocket.RenderMissileNuclear;
import com.hbm.render.entity.rocket.RenderMissileStrong;
import com.hbm.render.entity.rocket.RenderMissileTaint;
import com.hbm.render.entity.rocket.RenderMissileThermo;
import com.hbm.render.entity.rocket.RenderSoyuz;
import com.hbm.render.item.*;
import com.hbm.render.loader.HmfModelLoader;
import com.hbm.render.tileentity.*;
@ -390,6 +458,7 @@ public class ClientProxy extends ServerProxy
RenderingRegistry.registerEntityRenderingHandler(EntityBuilding.class, new RenderBoxcar());
RenderingRegistry.registerEntityRenderingHandler(EntityCarrier.class, new RenderCarrierMissile());
RenderingRegistry.registerEntityRenderingHandler(EntityBooster.class, new RenderBoosterMissile());
RenderingRegistry.registerEntityRenderingHandler(EntitySoyuz.class, new RenderSoyuz());
RenderingRegistry.registerEntityRenderingHandler(EntityBomber.class, new RenderBomber());
RenderingRegistry.registerEntityRenderingHandler(EntityBurningFOEQ.class, new RenderFOEQ());
RenderingRegistry.registerEntityRenderingHandler(EntityFallingNuke.class, new RenderFallingNuke());
@ -565,6 +634,7 @@ public class ClientProxy extends ServerProxy
World world = Minecraft.getMinecraft().theWorld;
TextureManager man = Minecraft.getMinecraft().renderEngine;
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
Random rand = world.rand;
String type = data.getString("type");
double x = data.getDouble("posX");
@ -616,8 +686,63 @@ public class ClientProxy extends ServerProxy
vec.rotateAroundY(360 / count);
}
}
if("shockRand".equals(mode)) {
double strength = data.getDouble("strength");
Vec3 vec = Vec3.createVectorHelper(strength, 0, 0);
vec.rotateAroundY(rand.nextInt(360));
double r;
for(int i = 0; i < count; i++) {
r = rand.nextDouble();
ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z);
fx.motionY = 0;
fx.motionX = vec.xCoord * r;
fx.motionZ = vec.zCoord * r;
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
vec.rotateAroundY(360 / count);
}
}
}
if("exhaust".equals(type)) {
String mode = data.getString("mode");
if("soyuz".equals(mode)) {
if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350)
return;
int count = Math.max(1, data.getInteger("count"));
double width = data.getDouble("width");
for(int i = 0; i < count; i++) {
ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x + rand.nextGaussian() * width, y, z + rand.nextGaussian() * width);
fx.motionY = -0.75 + rand.nextDouble() * 0.5;
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
}
}
if("meteor".equals(mode)) {
if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350)
return;
int count = Math.max(1, data.getInteger("count"));
double width = data.getDouble("width");
for(int i = 0; i < count; i++) {
ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x + rand.nextGaussian() * width, y + rand.nextGaussian() * width, z + rand.nextGaussian() * width);
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
}
}
}
}
@Override

View File

@ -687,6 +687,7 @@ public class MainRegistry
EntityRegistry.registerModEntity(EntityTom.class, "entity_tom_the_moonstone", 141, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityTomBlast.class, "entity_tom_bust", 142, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityBuilding.class, "entity_falling_building", 143, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntitySoyuz.class, "entity_soyuz", 144, this, 1000, 1, true);
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);

View File

@ -335,6 +335,7 @@ public class ResourceManager {
public static final IModelCustom missileBooster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileBooster.obj"));
public static final IModelCustom minerRocket = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/minerRocket.obj"));
public static final IModelCustom soyuz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz.obj"));
public static final IModelCustom soyuz_lander = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_lander.obj"));
public static final IModelCustom soyuz_launcher_legs = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_legs.obj"));
public static final IModelCustom soyuz_launcher_table = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_table.obj"));
public static final IModelCustom soyuz_launcher_tower_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower_base.obj"));
@ -494,6 +495,9 @@ public class ResourceManager {
public static final ResourceLocation soyuz_authentic_booster = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/booster.png");
public static final ResourceLocation soyuz_authentic_boosterside = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/boosterside.png");
public static final ResourceLocation soyuz_memento = new ResourceLocation(RefStrings.MODID, "textures/items/polaroid_memento.png");
public static final ResourceLocation soyuz_lander_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_lander.png");
public static final ResourceLocation soyuz_chute_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_chute.png");
public static final ResourceLocation soyuz_launcher_legs_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_leg.png");
public static final ResourceLocation soyuz_launcher_table_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_table.png");

View File

@ -0,0 +1,102 @@
package com.hbm.particle;
import java.util.Random;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
@SideOnly(Side.CLIENT)
public class ParticleRocketFlame extends EntityFX {
private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/particle_base.png");
private TextureManager theRenderEngine;
private int age;
private int maxAge;
public ParticleRocketFlame(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) {
super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_);
theRenderEngine = p_i1213_1_;
maxAge = 300 + rand.nextInt(50);
}
public void onUpdate() {
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
this.age++;
if (this.age == this.maxAge) {
this.setDead();
}
this.motionX *= 0.9099999785423279D;
this.motionY *= 0.9099999785423279D;
this.motionZ *= 0.9099999785423279D;
this.moveEntity(this.motionX, this.motionY, this.motionZ);
}
public int getFXLayer() {
return 3;
}
public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) {
this.theRenderEngine.bindTexture(texture);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDepthMask(false);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
RenderHelper.disableStandardItemLighting();
Random urandom = new Random(this.getEntityId());
for(int i = 0; i < 15; i++) {
p_70539_1_.startDrawingQuads();
float add = urandom.nextFloat() * 0.3F;
float dark = 1 - Math.min(((float)(age) / (float)(maxAge * 0.25F)), 1);
this.particleRed = 1 * dark + add;
this.particleGreen = 0.6F * dark + add;
this.particleBlue = 0 + add;
this.particleAlpha = (float) Math.pow(1 - Math.min(((float)(age) / (float)(maxAge)), 1), 0.5);
p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.75F);
p_70539_1_.setNormal(0.0F, 1.0F, 0.0F);
p_70539_1_.setBrightness(240);
float spread = (float) Math.pow(((float)(age) / (float)maxAge) * 4F, 1.5) + 0.5F;
float scale = urandom.nextFloat() * 0.5F + 0.1F + ((float)(age) / (float)maxAge) * 2F;
float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + (urandom.nextGaussian() - 1D) * 0.2F * spread);
float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + (urandom.nextGaussian() - 1D) * 0.5F * spread);
float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.2F * spread);
p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1);
p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0);
p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), 0, 0);
p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), 0, 1);
p_70539_1_.draw();
}
GL11.glPolygonOffset(0.0F, 0.0F);
GL11.glEnable(GL11.GL_LIGHTING);
}
}

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.effect.EntityEMPBlast;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.item;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.item;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.entity.RenderMinecart;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.mob;
import com.hbm.lib.RefStrings;
import com.hbm.render.model.ModelCrab;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.mob;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.mob;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.mob;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import java.util.Random;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import org.lwjgl.opengl.GL11;

View File

@ -1,4 +1,4 @@
package com.hbm.render.entity;
package com.hbm.render.entity.projectile;
import org.lwjgl.opengl.GL11;

Some files were not shown because too many files have changed in this diff Show More