finished bobmazon, fixed fallout crash, improved textures

This commit is contained in:
HbmMods 2019-04-17 11:53:55 +02:00
parent 5b78dfb129
commit a4997d8765
41 changed files with 476 additions and 150 deletions

View File

@ -34,15 +34,15 @@ achievement.fiend.desc=Sei gemein.
achievement.fiend2=Unhold 2: Noch unholdiger
achievement.fiend2.desc=Sei gemeiner.
achievement.metalworks=Metallurgie
achievement.metalworks.desc=Bobmazon Level 1
achievement.metalworks.desc=Bobmazon Level 1 (Hochofen)
achievement.assembly=Fertigung
achievement.assembly.desc=Bobmazon Level 2
achievement.assembly.desc=Bobmazon Level 2 (Fertigungsmaschine)
achievement.chemistry=Chemie
achievement.chemistry.desc=Bobmazon Level 3
achievement.chemistry.desc=Bobmazon Level 3 (Betonziegel)
achievement.oil=Petroleum
achievement.oil.desc=Bobmazon Level 4
achievement.oil.desc=Bobmazon Level 4 (Elektrischer Boiler)
achievement.nuclear=Atomwissenschaft
achievement.nuclear.desc=Bobmazon Level 5
achievement.nuclear.desc=Bobmazon Level 5 (Urankernbrennstoff)
potion.hbm_taint=Verdorben
potion.hbm_mutation=Verdorbenes Herz
@ -179,6 +179,7 @@ death.attack.blackhole=%1$s wurde spaghettifiziert.
death.attack.blender=%1$s wurde in kleine, mundgerechte Stücke geschnitten.
death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen.
death.attack.boxcar=%1$s wurde von einem fallenden Güterwagon zermatscht. Autsch!
death.attack.boat=%1$s wurde von Schiff getroffen.
death.attack.broadcast=%1$s wurde das Gehirn geschmolzen.
death.attack.ams=%1$s wurde in tödlichen Teilchen gebadet, die von der Menschheit erst benannt werden müssen.
death.attack.amsCore=%1$s wurde vom Feuer einer Singularität verdampft.
@ -536,6 +537,11 @@ item.assembly_template.name=Fertigungsvorlage:
item.chemistry_template.name=Chemievorlage:
item.siren_track.name=Sirenentrack
item.bobmazon_materials.name=Bobmazon: Ressourcen
item.bobmazon_machines.name=Bobmazon: Blöcke und Maschinen
item.bobmazon_weapons.name=Bobmazon: Waffen und Sprengstoffe
item.bobmazon_tools.name=Bobmazon: Werkzeuge
item.fuse.name=Sicherung
item.arc_electrode.name=Graphitelektrode
item.arc_electrode_burnt.name=Geschmolzene Elektrode

View File

@ -34,15 +34,15 @@ achievement.fiend.desc=Be mean.
achievement.fiend2=Delinquent 2: Delinquent Harder
achievement.fiend2.desc=Be meaner.
achievement.metalworks=Metalworks
achievement.metalworks.desc=Bobmazon Level 1
achievement.metalworks.desc=Bobmazon Level 1 (Blast Furnace)
achievement.assembly=Fabrication
achievement.assembly.desc=Bobmazon Level 2
achievement.assembly.desc=Bobmazon Level 2 (Assembly Machine)
achievement.chemistry=Chemistry
achievement.chemistry.desc=Bobmazon Level 3
achievement.chemistry.desc=Bobmazon Level 3 (Concrete Bricks)
achievement.oil=Petroleum
achievement.oil.desc=Bobmazon Level 4
achievement.oil.desc=Bobmazon Level 4 (Electric Boiler)
achievement.nuclear=Atomic Science
achievement.nuclear.desc=Bobmazon Level 5
achievement.nuclear.desc=Bobmazon Level 5 (Uranium Fuel)
potion.hbm_taint=Tainted
potion.hbm_mutation=Tainted Heart
@ -179,6 +179,7 @@ death.attack.blackhole=%1$s was spaghettified.
death.attack.blender=%1$s was chopped in small, bite-sized pieces.
death.attack.meteorite=%1$s was hit by a falling rock from outer space.
death.attack.boxcar=%1$s was smushed by a falling boxcar. Oh well.
death.attack.boat=%1$s was hit by a boat.
death.attack.broadcast=%1$s got their brain melted.
death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science.
death.attack.amsCore=%1$s was vaporized in the fire of a singularity.
@ -536,6 +537,11 @@ item.assembly_template.name=Assembly Template:
item.chemistry_template.name=Chemistry Template:
item.siren_track.name=Siren Track
item.bobmazon_materials.name=Bobmazon: Materials
item.bobmazon_machines.name=Bobmazon: Blocks and Machines
item.bobmazon_weapons.name=Bobmazon: Weapons and Explosives
item.bobmazon_tools.name=Bobmazon: Tools
item.fuse.name=Fuse
item.arc_electrode.name=Graphite Electrode
item.arc_electrode_burnt.name=Molten Electrode

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 B

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

After

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 B

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 664 B

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 B

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 B

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 768 B

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -48,6 +48,12 @@ public class EntityFalloutRain extends Entity {
Vec3 vec = Vec3.createVectorHelper(radProgress * 0.5, 0, 0);
double circum = radProgress * 2 * Math.PI * 2;
///
if(circum == 0)
circum = 1;
///
double part = 360D / circum;
vec.rotateAroundY((float) (part * revProgress));
@ -222,6 +228,8 @@ public class EntityFalloutRain extends Entity {
public int getScale() {
return this.dataWatcher.getWatchableObjectInt(16);
int scale = this.dataWatcher.getWatchableObjectInt(16);
return scale == 0 ? 1 : scale;
}
}

View File

@ -0,0 +1,73 @@
package com.hbm.entity.missile;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.particle.EntityGasFlameFX;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.packet.AuxParticlePacket;
import com.hbm.packet.PacketDispatcher;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityBobmazon extends Entity {
public ItemStack payload;
public EntityBobmazon(World p_i1582_1_) {
super(p_i1582_1_);
this.ignoreFrustumCheck = true;
this.setSize(1F, 3F);
}
@Override
protected void entityInit() {
this.dataWatcher.addObject(16, Integer.valueOf(0));
}
@Override
public void onUpdate() {
motionY = -0.5;
motionX = 0;
motionZ = 0;
this.lastTickPosX = this.prevPosX = this.posX;
this.lastTickPosY = this.prevPosY = this.posY;
this.lastTickPosZ = this.prevPosZ = this.posZ;
for(int i = 0; i < 4; i++) {
if(!this.worldObj.isRemote && i % 2 == 0)
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(posX, posY + 1, posZ, 2), new TargetPoint(worldObj.provider.dimensionId, posX, posY + 1, posZ, 300));
if(worldObj.getBlock((int)(posX - 0.5), (int)(posY + 1), (int)(posZ - 0.5)).getMaterial() != Material.air && !worldObj.isRemote && dataWatcher.getWatchableObjectInt(16) != 1) {
this.setDead();
ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, 50);
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10.0F, 0.5F + this.rand.nextFloat() * 0.1F);
if(payload != null)
worldObj.spawnEntityInWorld(new EntityItem(worldObj, posX, posY, posZ, payload));
break;
}
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
}
}
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) { }
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) { }
}

View File

@ -3,6 +3,8 @@ package com.hbm.entity.projectile;
import java.lang.reflect.Field;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.RedBarrel;
import com.hbm.calc.VectorUtil;
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
import com.hbm.entity.effect.EntityEMPBlast;
@ -441,6 +443,8 @@ public class EntityBulletBase extends Entity implements IProjectile {
worldObj.getBlock(bX, bY, bZ) == Blocks.stained_glass_pane)
worldObj.func_147480_a(bX, bY, bZ, false);
if(worldObj.getBlock(bX, bY, bZ) == ModBlocks.red_barrel)
((RedBarrel) ModBlocks.red_barrel).explode(worldObj, bX, bY, bZ);
}
}

View File

@ -20,137 +20,137 @@ public class BobmazonOfferFactory {
public static void init() {
materials.add(new Offer(new ItemStack(ModItems.ingot_uranium), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_u233), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_u238), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_th232), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_plutonium), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_titanium), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_copper), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_red_copper), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_tungsten), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_aluminium), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_steel), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_lead), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_polymer), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_uranium_fuel), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_thorium_fuel), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_desh), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_saturnite), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.lithium), Requirement.CHEMICS, 0));
materials.add(new Offer(new ItemStack(ModItems.solid_fuel), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.lignite), Requirement.STEEL, 0));
materials.add(new Offer(new ItemStack(ModItems.canister_oil), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.canister_fuel), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.canister_petroil), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.canister_kerosene), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.canister_NITAN), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.gas_petroleum), Requirement.OIL, 0));
materials.add(new Offer(new ItemStack(ModItems.motor), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.rtg_unit), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.circuit_aluminium), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.circuit_copper), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.circuit_red_copper), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.circuit_gold), Requirement.CHEMICS, 0));
materials.add(new Offer(new ItemStack(ModItems.pellet_gas), Requirement.CHEMICS, 0));
materials.add(new Offer(new ItemStack(ModItems.magnetron), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.pellet_rtg), Requirement.NUCLEAR, 0));
materials.add(new Offer(new ItemStack(ModItems.piston_selenium), Requirement.ASSEMBLY, 0));
materials.add(new Offer(ItemBattery.getFullBattery(ModItems.battery_advanced), Requirement.ASSEMBLY, 0));
materials.add(new Offer(ItemBattery.getFullBattery(ModItems.battery_lithium), Requirement.CHEMICS, 0));
materials.add(new Offer(new ItemStack(ModItems.arc_electrode), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.fuse), Requirement.ASSEMBLY, 0));
materials.add(new Offer(new ItemStack(ModItems.ingot_uranium), Requirement.NUCLEAR, 6));
materials.add(new Offer(new ItemStack(ModItems.ingot_u233), Requirement.NUCLEAR, 20));
materials.add(new Offer(new ItemStack(ModItems.ingot_u238), Requirement.NUCLEAR, 15));
materials.add(new Offer(new ItemStack(ModItems.ingot_th232), Requirement.NUCLEAR, 4));
materials.add(new Offer(new ItemStack(ModItems.ingot_plutonium), Requirement.NUCLEAR, 25));
materials.add(new Offer(new ItemStack(ModItems.ingot_titanium), Requirement.STEEL, 2));
materials.add(new Offer(new ItemStack(ModItems.ingot_copper), Requirement.STEEL, 2));
materials.add(new Offer(new ItemStack(ModItems.ingot_red_copper), Requirement.STEEL, 4));
materials.add(new Offer(new ItemStack(ModItems.ingot_tungsten), Requirement.STEEL, 3));
materials.add(new Offer(new ItemStack(ModItems.ingot_aluminium), Requirement.STEEL, 2));
materials.add(new Offer(new ItemStack(ModItems.ingot_steel), Requirement.STEEL, 4));
materials.add(new Offer(new ItemStack(ModItems.ingot_lead), Requirement.STEEL, 2));
materials.add(new Offer(new ItemStack(ModItems.ingot_polymer), Requirement.OIL, 8));
materials.add(new Offer(new ItemStack(ModItems.ingot_uranium_fuel), Requirement.NUCLEAR, 18));
materials.add(new Offer(new ItemStack(ModItems.ingot_thorium_fuel), Requirement.NUCLEAR, 16));
materials.add(new Offer(new ItemStack(ModItems.ingot_desh), Requirement.OIL, 16));
materials.add(new Offer(new ItemStack(ModItems.ingot_saturnite), Requirement.STEEL, 8));
materials.add(new Offer(new ItemStack(ModItems.lithium), Requirement.CHEMICS, 6));
materials.add(new Offer(new ItemStack(ModItems.solid_fuel), Requirement.OIL, 4));
materials.add(new Offer(new ItemStack(ModItems.lignite), Requirement.STEEL, 2));
materials.add(new Offer(new ItemStack(ModItems.canister_oil), Requirement.OIL, 4));
materials.add(new Offer(new ItemStack(ModItems.canister_fuel), Requirement.OIL, 16));
materials.add(new Offer(new ItemStack(ModItems.canister_petroil), Requirement.OIL, 12));
materials.add(new Offer(new ItemStack(ModItems.canister_kerosene), Requirement.OIL, 20));
materials.add(new Offer(new ItemStack(ModItems.canister_NITAN), Requirement.OIL, 100));
materials.add(new Offer(new ItemStack(ModItems.gas_petroleum), Requirement.OIL, 8));
materials.add(new Offer(new ItemStack(ModItems.motor), Requirement.ASSEMBLY, 12));
materials.add(new Offer(new ItemStack(ModItems.rtg_unit), Requirement.NUCLEAR, 25));
materials.add(new Offer(new ItemStack(ModItems.circuit_aluminium), Requirement.ASSEMBLY, 4));
materials.add(new Offer(new ItemStack(ModItems.circuit_copper), Requirement.ASSEMBLY, 6));
materials.add(new Offer(new ItemStack(ModItems.circuit_red_copper), Requirement.ASSEMBLY, 10));
materials.add(new Offer(new ItemStack(ModItems.circuit_gold), Requirement.CHEMICS, 16));
materials.add(new Offer(new ItemStack(ModItems.pellet_gas), Requirement.CHEMICS, 4));
materials.add(new Offer(new ItemStack(ModItems.magnetron), Requirement.ASSEMBLY, 10));
materials.add(new Offer(new ItemStack(ModItems.pellet_rtg), Requirement.NUCLEAR, 27));
materials.add(new Offer(new ItemStack(ModItems.piston_selenium), Requirement.ASSEMBLY, 12));
materials.add(new Offer(ItemBattery.getFullBattery(ModItems.battery_advanced), Requirement.ASSEMBLY, 15));
materials.add(new Offer(ItemBattery.getFullBattery(ModItems.battery_lithium), Requirement.CHEMICS, 30));
materials.add(new Offer(new ItemStack(ModItems.arc_electrode), Requirement.ASSEMBLY, 15));
materials.add(new Offer(new ItemStack(ModItems.fuse), Requirement.ASSEMBLY, 5));
machines.add(new Offer(new ItemStack(ModBlocks.concrete_smooth), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.brick_compound), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.barbed_wire), Requirement.ASSEMBLY, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_siren), Requirement.ASSEMBLY, 0));
machines.add(new Offer(new ItemStack(ModBlocks.vault_door), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.blast_door), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_epress), Requirement.OIL, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_difurnace_off), Requirement.STEEL, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_gascent), Requirement.OIL, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_diesel), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_geo), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_battery), Requirement.ASSEMBLY, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_lithium_battery), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_assembler), Requirement.ASSEMBLY, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_chemplant), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_boiler_electric_off), Requirement.OIL, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_shredder), Requirement.ASSEMBLY, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_well), Requirement.OIL, 0));
machines.add(new Offer(new ItemStack(ModBlocks.machine_refinery), Requirement.OIL, 0));
machines.add(new Offer(new ItemStack(ModBlocks.absorber), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.absorber_green), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.decon), Requirement.CHEMICS, 0));
machines.add(new Offer(new ItemStack(ModBlocks.concrete_smooth, 16), Requirement.CHEMICS, 32));
machines.add(new Offer(new ItemStack(ModBlocks.brick_compound, 8), Requirement.CHEMICS, 48));
machines.add(new Offer(new ItemStack(ModBlocks.barbed_wire, 16), Requirement.ASSEMBLY, 12));
machines.add(new Offer(new ItemStack(ModBlocks.machine_siren), Requirement.ASSEMBLY, 12));
machines.add(new Offer(new ItemStack(ModBlocks.vault_door), Requirement.CHEMICS, 250));
machines.add(new Offer(new ItemStack(ModBlocks.blast_door), Requirement.CHEMICS, 120));
machines.add(new Offer(new ItemStack(ModBlocks.machine_epress), Requirement.OIL, 60));
machines.add(new Offer(new ItemStack(ModBlocks.machine_difurnace_off), Requirement.STEEL, 26));
machines.add(new Offer(new ItemStack(ModBlocks.machine_gascent), Requirement.OIL, 100));
machines.add(new Offer(new ItemStack(ModBlocks.machine_diesel), Requirement.CHEMICS, 65));
machines.add(new Offer(new ItemStack(ModBlocks.machine_geo), Requirement.CHEMICS, 30));
machines.add(new Offer(new ItemStack(ModBlocks.machine_battery), Requirement.ASSEMBLY, 30));
machines.add(new Offer(new ItemStack(ModBlocks.machine_lithium_battery), Requirement.CHEMICS, 60));
machines.add(new Offer(new ItemStack(ModBlocks.machine_assembler), Requirement.ASSEMBLY, 30));
machines.add(new Offer(new ItemStack(ModBlocks.machine_chemplant), Requirement.CHEMICS, 50));
machines.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off), Requirement.CHEMICS, 25));
machines.add(new Offer(new ItemStack(ModBlocks.machine_boiler_electric_off), Requirement.OIL, 60));
machines.add(new Offer(new ItemStack(ModBlocks.machine_shredder), Requirement.ASSEMBLY, 45));
machines.add(new Offer(new ItemStack(ModBlocks.machine_well), Requirement.OIL, 40));
machines.add(new Offer(new ItemStack(ModBlocks.machine_refinery), Requirement.OIL, 80));
machines.add(new Offer(new ItemStack(ModBlocks.absorber), Requirement.CHEMICS, 10));
machines.add(new Offer(new ItemStack(ModBlocks.absorber_green), Requirement.OIL, 25));
machines.add(new Offer(new ItemStack(ModBlocks.decon), Requirement.CHEMICS, 15));
weapons.add(new Offer(new ItemStack(ModBlocks.launch_pad), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.machine_radar), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.designator), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.designator_range), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.sat_chip), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.turret_cheapo), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.turret_cheapo_ammo), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.turret_control), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.turret_chip), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.turret_biometry), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.mine_ap), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.emp_bomb), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.det_cord), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.det_charge), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.detonator), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.detonator_laser), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.defuser), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_revolver), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_revolver_nopip), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_minigun), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_panzerschreck), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_hk69), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_uzi), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_bolt_action), Requirement.ASSEMBLY, 0));
weapons.add(new Offer(new ItemStack(ModItems.gun_revolver_ammo), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_357_desh), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_44), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_44_ap), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_5mm), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_5mm_du), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket_incendiary), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket_sleek), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade_incendiary), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_22lr), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge_slug), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge_flechette), Requirement.OIL, 0));
weapons.add(new Offer(new ItemStack(ModItems.grenade_if_generic), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModItems.grenade_if_he), Requirement.CHEMICS, 0));
weapons.add(new Offer(new ItemStack(ModBlocks.launch_pad), Requirement.OIL, 95));
weapons.add(new Offer(new ItemStack(ModBlocks.machine_radar), Requirement.OIL, 90));
weapons.add(new Offer(new ItemStack(ModItems.designator), Requirement.CHEMICS, 35));
weapons.add(new Offer(new ItemStack(ModItems.designator_range), Requirement.CHEMICS, 50));
weapons.add(new Offer(new ItemStack(ModItems.sat_chip), Requirement.CHEMICS, 35));
weapons.add(new Offer(new ItemStack(ModBlocks.turret_cheapo), Requirement.CHEMICS, 70));
weapons.add(new Offer(new ItemStack(ModItems.turret_cheapo_ammo), Requirement.ASSEMBLY, 20));
weapons.add(new Offer(new ItemStack(ModItems.turret_control), Requirement.CHEMICS, 35));
weapons.add(new Offer(new ItemStack(ModItems.turret_chip), Requirement.CHEMICS, 80));
weapons.add(new Offer(new ItemStack(ModItems.turret_biometry), Requirement.CHEMICS, 15));
weapons.add(new Offer(new ItemStack(ModBlocks.mine_ap, 4), Requirement.ASSEMBLY, 25));
weapons.add(new Offer(new ItemStack(ModBlocks.emp_bomb), Requirement.CHEMICS, 90));
weapons.add(new Offer(new ItemStack(ModBlocks.det_cord, 16), Requirement.ASSEMBLY, 50));
weapons.add(new Offer(new ItemStack(ModBlocks.det_charge), Requirement.CHEMICS, 25));
weapons.add(new Offer(new ItemStack(ModItems.detonator), Requirement.ASSEMBLY, 15));
weapons.add(new Offer(new ItemStack(ModItems.detonator_laser), Requirement.CHEMICS, 60));
weapons.add(new Offer(new ItemStack(ModItems.defuser), Requirement.OIL, 5));
weapons.add(new Offer(new ItemStack(ModItems.gun_revolver), Requirement.ASSEMBLY, 15));
weapons.add(new Offer(new ItemStack(ModItems.gun_revolver_nopip), Requirement.ASSEMBLY, 20));
weapons.add(new Offer(new ItemStack(ModItems.gun_minigun), Requirement.OIL, 100));
weapons.add(new Offer(new ItemStack(ModItems.gun_panzerschreck), Requirement.ASSEMBLY, 95));
weapons.add(new Offer(new ItemStack(ModItems.gun_hk69), Requirement.ASSEMBLY, 60));
weapons.add(new Offer(new ItemStack(ModItems.gun_uzi), Requirement.OIL, 80));
weapons.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.ASSEMBLY, 60));
weapons.add(new Offer(new ItemStack(ModItems.gun_bolt_action), Requirement.ASSEMBLY, 35));
weapons.add(new Offer(new ItemStack(ModItems.gun_revolver_ammo, 6), Requirement.OIL, 12));
weapons.add(new Offer(new ItemStack(ModItems.ammo_357_desh, 6), Requirement.OIL, 36));
weapons.add(new Offer(new ItemStack(ModItems.ammo_44, 6), Requirement.OIL, 12));
weapons.add(new Offer(new ItemStack(ModItems.ammo_44_ap, 6), Requirement.OIL, 18));
weapons.add(new Offer(new ItemStack(ModItems.ammo_5mm, 50), Requirement.OIL, 50));
weapons.add(new Offer(new ItemStack(ModItems.ammo_5mm_du, 50), Requirement.OIL, 75));
weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket), Requirement.OIL, 5));
weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket_incendiary), Requirement.OIL, 8));
weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket_sleek), Requirement.OIL, 12));
weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade), Requirement.OIL, 4));
weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade_incendiary), Requirement.OIL, 6));
weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek), Requirement.OIL, 10));
weapons.add(new Offer(new ItemStack(ModItems.ammo_22lr, 32), Requirement.OIL, 24));
weapons.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap, 32), Requirement.OIL, 32));
weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 6), Requirement.OIL, 18));
weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge_slug, 6), Requirement.OIL, 20));
weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge_flechette, 6), Requirement.OIL, 22));
weapons.add(new Offer(new ItemStack(ModItems.grenade_if_generic, 3), Requirement.CHEMICS, 15));
weapons.add(new Offer(new ItemStack(ModItems.grenade_if_he, 3), Requirement.CHEMICS, 25));
tools.add(new Offer(new ItemStack(ModBlocks.machine_keyforge), Requirement.STEEL, 0));
tools.add(new Offer(new ItemStack(ModBlocks.machine_telelinker), Requirement.CHEMICS, 0));
tools.add(new Offer(new ItemStack(ModBlocks.machine_satlinker), Requirement.CHEMICS, 0));
tools.add(new Offer(new ItemStack(ModItems.oil_detector), Requirement.CHEMICS, 0));
tools.add(new Offer(new ItemStack(ModItems.geiger_counter), Requirement.CHEMICS, 0));
tools.add(new Offer(new ItemStack(ModItems.key), Requirement.STEEL, 0));
tools.add(new Offer(new ItemStack(ModItems.padlock), Requirement.STEEL, 0));
tools.add(new Offer(new ItemStack(ModItems.padlock_reinforced), Requirement.OIL, 0));
tools.add(new Offer(new ItemStack(ModItems.syringe_antidote), Requirement.STEEL, 0));
tools.add(new Offer(new ItemStack(ModItems.syringe_metal_stimpak), Requirement.STEEL, 0));
tools.add(new Offer(new ItemStack(ModItems.syringe_metal_medx), Requirement.STEEL, 0));
tools.add(new Offer(new ItemStack(ModItems.radaway), Requirement.ASSEMBLY, 0));
tools.add(new Offer(new ItemStack(ModItems.radaway_strong), Requirement.ASSEMBLY, 0));
tools.add(new Offer(new ItemStack(ModItems.radx), Requirement.ASSEMBLY, 0));
tools.add(new Offer(new ItemStack(ModItems.pill_iodine), Requirement.ASSEMBLY, 0));
tools.add(new Offer(new ItemStack(ModItems.gas_mask_filter), Requirement.ASSEMBLY, 0));
tools.add(new Offer(new ItemStack(ModItems.gun_kit_1), Requirement.OIL, 0));
tools.add(new Offer(new ItemStack(ModItems.gun_kit_2), Requirement.OIL, 0));
tools.add(new Offer(new ItemStack(ModItems.hazmat_kit), Requirement.ASSEMBLY, 0));
tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 0));
tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 0));
tools.add(new Offer(new ItemStack(ModBlocks.machine_keyforge), Requirement.STEEL, 10));
tools.add(new Offer(new ItemStack(ModBlocks.machine_telelinker), Requirement.CHEMICS, 35));
tools.add(new Offer(new ItemStack(ModBlocks.machine_satlinker), Requirement.CHEMICS, 50));
tools.add(new Offer(new ItemStack(ModItems.oil_detector), Requirement.CHEMICS, 45));
tools.add(new Offer(new ItemStack(ModItems.geiger_counter), Requirement.CHEMICS, 10));
tools.add(new Offer(new ItemStack(ModItems.key), Requirement.STEEL, 2));
tools.add(new Offer(new ItemStack(ModItems.padlock), Requirement.STEEL, 5));
tools.add(new Offer(new ItemStack(ModItems.padlock_reinforced), Requirement.OIL, 15));
tools.add(new Offer(new ItemStack(ModItems.syringe_antidote, 6), Requirement.STEEL, 10));
tools.add(new Offer(new ItemStack(ModItems.syringe_metal_stimpak, 4), Requirement.STEEL, 10));
tools.add(new Offer(new ItemStack(ModItems.syringe_metal_medx, 4), Requirement.STEEL, 10));
tools.add(new Offer(new ItemStack(ModItems.radaway, 6), Requirement.ASSEMBLY, 30));
tools.add(new Offer(new ItemStack(ModItems.radaway_strong, 3), Requirement.ASSEMBLY, 35));
tools.add(new Offer(new ItemStack(ModItems.radx, 4), Requirement.ASSEMBLY, 20));
tools.add(new Offer(new ItemStack(ModItems.pill_iodine, 6), Requirement.ASSEMBLY, 20));
tools.add(new Offer(new ItemStack(ModItems.gas_mask_filter, 1), Requirement.ASSEMBLY, 5));
tools.add(new Offer(new ItemStack(ModItems.gun_kit_1, 4), Requirement.OIL, 20));
tools.add(new Offer(new ItemStack(ModItems.gun_kit_2, 2), Requirement.OIL, 45));
tools.add(new Offer(new ItemStack(ModItems.hazmat_kit), Requirement.ASSEMBLY, 40));
tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 100));
tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 160));
}
public static List<Offer> getOffers(ItemStack stack) {

View File

@ -16,6 +16,7 @@ import com.hbm.items.tool.ItemChemistryTemplate;
import com.hbm.items.tool.ItemFluidIdentifier;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.packet.ItemBobmazonPacket;
import com.hbm.packet.ItemFolderPacket;
import com.hbm.packet.PacketDispatcher;
@ -196,8 +197,7 @@ public class GUIScreenBobmazon extends GuiScreen {
public void executeAction() {
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
if(type == 0) {
//TODO: request purchase
//PacketDispatcher.wrapper.sendToServer(new ItemFolderPacket(stack.copy()));
PacketDispatcher.wrapper.sendToServer(new ItemBobmazonPacket(offer));
} else if(type == 1) {
if(currentPage > 0)
currentPage--;
@ -217,12 +217,12 @@ public class GUIScreenBobmazon extends GuiScreen {
public static class Offer {
ItemStack offer;
Requirement requirement;
int cost;
int rating;
String comment;
String author;
public ItemStack offer;
public Requirement requirement;
public int cost;
public int rating;
public String comment;
public String author;
public Offer(ItemStack offer, Requirement requirement, int cost, int rating, String comment, String author) {
this.offer = offer;
@ -307,7 +307,7 @@ public class GUIScreenBobmazon extends GuiScreen {
return player.func_147099_x().hasAchievementUnlocked(achievement);
}
Achievement achievement;
public Achievement achievement;
}
}

View File

@ -33,6 +33,7 @@ public class ModDamageSource extends DamageSource {
public static DamageSource turbofan = (new DamageSource("blender")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource meteorite = (new DamageSource("meteorite")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource boxcar = (new DamageSource("boxcar")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource boat = (new DamageSource("boat")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource taint = (new DamageSource("taint")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource ams = (new DamageSource("ams")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource amsCore = (new DamageSource("amsCore")).setDamageIsAbsolute().setDamageBypassesArmor();

View File

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

View File

@ -360,6 +360,7 @@ public class ClientProxy extends ServerProxy
RenderingRegistry.registerEntityRenderingHandler(EntityBurningFOEQ.class, new RenderFOEQ());
RenderingRegistry.registerEntityRenderingHandler(EntityFallingNuke.class, new RenderFallingNuke());
RenderingRegistry.registerEntityRenderingHandler(EntityMinerRocket.class, new RenderMinerRocket());
RenderingRegistry.registerEntityRenderingHandler(EntityBobmazon.class, new RenderMinerRocket());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileTaint.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileMicro.class, new RenderMissileTaint());

View File

@ -1556,6 +1556,11 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.redstone_depleted, 1), new Object[] { new ItemStack(ModItems.battery_su, 1, OreDictionary.WILDCARD_VALUE) });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.redstone_depleted, 2), new Object[] { new ItemStack(ModItems.battery_su_l, 1, OreDictionary.WILDCARD_VALUE) });
GameRegistry.addShapelessRecipe(new ItemStack(Items.redstone, 1), new Object[] { ModItems.redstone_depleted, ModItems.redstone_depleted });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_machines), new Object[] { Items.book, Items.gold_nugget, new ItemStack(Items.dye, 1, 1) });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_weapons), new Object[] { Items.book, Items.gold_nugget, new ItemStack(Items.dye, 1, 8) });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_tools), new Object[] { Items.book, Items.gold_nugget, new ItemStack(Items.dye, 1, 2) });
}
public static void AddSmeltingRec()

View File

@ -664,6 +664,7 @@ public class MainRegistry
EntityRegistry.registerModEntity(EntityMissileEMPStrong.class, "entity_missile_emp_strong", 135, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityEMP.class, "entity_emp_logic", 136, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityWaterSplash.class, "entity_water_splash", 137, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityBobmazon.class, "entity_bobmazon_delivery", 138, 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

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.missile.EntityMissileBaseAdvanced;
import com.hbm.entity.mob.EntityNuclearCreeper;
import com.hbm.entity.projectile.EntityBurningFOEQ;
@ -461,6 +462,21 @@ public class ModEventHandler
if(item == ModItems.gun_revolver_pip) {
e.player.addStat(MainRegistry.achC44, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_difurnace_off)) {
e.player.addStat(MainRegistry.bobMetalworks, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_assembler)) {
e.player.addStat(MainRegistry.bobAssembly, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.brick_concrete)) {
e.player.addStat(MainRegistry.bobChemistry, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_boiler_electric_off)) {
e.player.addStat(MainRegistry.bobOil, 1);
}
if(item == ModItems.ingot_uranium_fuel) {
e.player.addStat(MainRegistry.bobNuclear, 1);
}
}
/*@SubscribeEvent

View File

@ -354,6 +354,7 @@ public class ResourceManager {
public static final ResourceLocation missileCarrier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileCarrier.png");
public static final ResourceLocation missileBooster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileBooster.png");
public static final ResourceLocation minerRocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/minerRocket.png");
public static final ResourceLocation bobmazon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bobmazon.png");
public static final ResourceLocation missileMicroBHole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroBHole.png");
public static final ResourceLocation missileMicroSchrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroSchrab.png");
public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroEMP.png");

View File

@ -0,0 +1,194 @@
package com.hbm.packet;
import java.util.List;
import java.util.Random;
import com.hbm.entity.missile.EntityBobmazon;
import com.hbm.inventory.gui.GUIScreenBobmazon.Offer;
import com.hbm.items.ModItems;
import com.hbm.items.tool.ItemAssemblyTemplate;
import com.hbm.items.tool.ItemCassette;
import com.hbm.items.tool.ItemChemistryTemplate;
import com.hbm.items.tool.ItemFluidIdentifier;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityMachineAssembler;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
import net.minecraft.world.World;
public class ItemBobmazonPacket implements IMessage {
int item;
int stacksize;
int meta;
int cost;
int achievement;
public ItemBobmazonPacket()
{
}
public ItemBobmazonPacket(Offer offer)
{
this.item = Item.getIdFromItem(offer.offer.getItem());
this.stacksize = offer.offer.stackSize;
this.meta = offer.offer.getItemDamage();
this.cost = offer.cost;
if(offer.requirement.achievement == MainRegistry.bobMetalworks)
this.achievement = 0;
if(offer.requirement.achievement == MainRegistry.bobAssembly)
this.achievement = 1;
if(offer.requirement.achievement == MainRegistry.bobChemistry)
this.achievement = 2;
if(offer.requirement.achievement == MainRegistry.bobOil)
this.achievement = 3;
if(offer.requirement.achievement == MainRegistry.bobNuclear)
this.achievement = 4;
}
@Override
public void fromBytes(ByteBuf buf) {
item = buf.readInt();
stacksize = buf.readInt();
meta = buf.readInt();
cost = buf.readInt();
achievement = buf.readInt();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(item);
buf.writeInt(stacksize);
buf.writeInt(meta);
buf.writeInt(cost);
buf.writeInt(achievement);
}
public static class Handler implements IMessageHandler<ItemBobmazonPacket, IMessage> {
@Override
public IMessage onMessage(ItemBobmazonPacket m, MessageContext ctx) {
EntityPlayerMP p = ctx.getServerHandler().playerEntity;
World world = p.worldObj;
ItemStack stack = new ItemStack(Item.getItemById(m.item), m.stacksize, m.meta);
Achievement req = null;
if(m.achievement == 0)
req = MainRegistry.bobMetalworks;
if(m.achievement == 1)
req = MainRegistry.bobAssembly;
if(m.achievement == 2)
req = MainRegistry.bobChemistry;
if(m.achievement == 3)
req = MainRegistry.bobOil;
if(m.achievement == 4)
req = MainRegistry.bobNuclear;
if(req != null && p.func_147099_x().hasAchievementUnlocked(req)) {
if(countCaps(p) >= m.cost) {
payCaps(p, m.cost);
Random rand = world.rand;
EntityBobmazon bob = new EntityBobmazon(world);
bob.posX = p.posX + rand.nextGaussian() * 10;
bob.posY = 300;
bob.posZ = p.posZ + rand.nextGaussian() * 10;
bob.payload = stack;
world.spawnEntityInWorld(bob);
} else {
p.addChatMessage(new ChatComponentText("[BOBMAZON] Not enough caps!"));
}
} else {
p.addChatMessage(new ChatComponentText("[BOBMAZON] Requirements not met!"));
}
return null;
}
private int countCaps(EntityPlayer player) {
int count = 0;
for(int i = 0; i < player.inventory.getSizeInventory(); i++) {
ItemStack stack = player.inventory.getStackInSlot(i);
if(stack != null) {
Item item = stack.getItem();
if(item == ModItems.cap_fritz ||
item == ModItems.cap_korl ||
item == ModItems.cap_nuka ||
item == ModItems.cap_quantum ||
item == ModItems.cap_rad ||
item == ModItems.cap_sparkle ||
item == ModItems.cap_star ||
item == ModItems.cap_sunset)
count += stack.stackSize;
}
}
return count;
}
private void payCaps(EntityPlayer player, int price) {
if(price == 0)
return;
int count = 0;
for(int i = 0; i < player.inventory.getSizeInventory(); i++) {
ItemStack stack = player.inventory.getStackInSlot(i);
if(stack != null) {
Item item = stack.getItem();
if(item == ModItems.cap_fritz ||
item == ModItems.cap_korl ||
item == ModItems.cap_nuka ||
item == ModItems.cap_quantum ||
item == ModItems.cap_rad ||
item == ModItems.cap_sparkle ||
item == ModItems.cap_star ||
item == ModItems.cap_sunset) {
for(int j = 0; j < stack.stackSize; j++) {
player.inventory.decrStackSize(i, 1);
count++;
if(count == price)
return;
}
}
}
}
}
}
}

View File

@ -83,6 +83,8 @@ public class PacketDispatcher {
wrapper.registerMessage(GunButtonPacket.Handler.class, GunButtonPacket.class, i++, Side.SERVER);
//Packet to send block break particles
wrapper.registerMessage(AuxParticlePacket.Handler.class, AuxParticlePacket.class, i++, Side.CLIENT);
//Signals server to buy offer from bobmazon
wrapper.registerMessage(ItemBobmazonPacket.Handler.class, ItemBobmazonPacket.class, i++, Side.SERVER);
}
}

View File

@ -2,6 +2,7 @@ package com.hbm.render.entity;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.missile.EntityMinerRocket;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.entity.Render;
@ -19,7 +20,14 @@ public class RenderMinerRocket extends Render {
//GL11.glRotated(180, 0, 0, 1);
GL11.glDisable(GL11.GL_CULL_FACE);
bindTexture(ResourceManager.minerRocket_tex);
if(p_76986_1_ instanceof EntityMinerRocket) {
bindTexture(ResourceManager.minerRocket_tex);
} else {
bindTexture(ResourceManager.bobmazon_tex);
GL11.glRotatef(180, 1, 0, 0);
//GL11.glTranslatef(0, 2, 0);
}
ResourceManager.minerRocket.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);