Merge remote-tracking branch 'HbmMods/master'

This commit is contained in:
Vaern 2022-03-02 15:59:56 -08:00
commit e43704190c
34 changed files with 1912 additions and 45 deletions

View File

@ -6,6 +6,7 @@ import com.hbm.items.ModItems;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLeashKnot;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -135,6 +136,9 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData {
return 7.5F; return 7.5F;
} }
/**
* BOW
*/
@Override @Override
public void onLivingUpdate() { public void onLivingUpdate() {
super.onLivingUpdate(); super.onLivingUpdate();
@ -143,4 +147,13 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData {
this.setPosition(this.posX + rand.nextGaussian() * 30, 256, this.posZ + rand.nextGaussian() * 30); this.setPosition(this.posX + rand.nextGaussian() * 30, 256, this.posZ + rand.nextGaussian() * 30);
} }
} }
@Override
protected void updateLeashedState() {
if(this.getLeashedToEntity() instanceof EntityLeashKnot)
this.getLeashedToEntity().setDead();
super.updateLeashedState();
}
} }

View File

@ -274,6 +274,21 @@ public class BobmazonOfferFactory {
new ItemStack(ModItems.pipe_lead).setStackDisplayName("Get Nutted, Dumbass"), new ItemStack(ModItems.pipe_lead).setStackDisplayName("Get Nutted, Dumbass"),
new ItemStack(ModItems.gem_alexandrite) new ItemStack(ModItems.gem_alexandrite)
).setStackDisplayName("The Nut Bucket"), Requirement.HIDDEN, 64)); ).setStackDisplayName("The Nut Bucket"), Requirement.HIDDEN, 64));
special.add(new Offer(ItemKitNBT.create(
new ItemStack(ModItems.rpa_helmet),
new ItemStack(ModItems.rpa_plate),
new ItemStack(ModItems.rpa_legs),
new ItemStack(ModItems.rpa_boots),
new ItemStack(ModItems.gun_lacunae),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64)
).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32));
} }
public static List<Offer> getOffers(ItemStack stack) { public static List<Offer> getOffers(ItemStack stack) {

View File

@ -210,6 +210,7 @@ public class BulletConfigSyncingUtil {
public static int NUKE_TOTS = i++; public static int NUKE_TOTS = i++;
public static int NUKE_SAFE = i++; public static int NUKE_SAFE = i++;
public static int NUKE_PUMPKIN = i++; public static int NUKE_PUMPKIN = i++;
public static int NUKE_BARREL = i++;
public static int NUKE_PROTO_NORMAL = i++; public static int NUKE_PROTO_NORMAL = i++;
public static int NUKE_PROTO_LOW = i++; public static int NUKE_PROTO_LOW = i++;
public static int NUKE_PROTO_HIGH = i++; public static int NUKE_PROTO_HIGH = i++;
@ -451,6 +452,7 @@ public class BulletConfigSyncingUtil {
configSet.put(NUKE_TOTS, GunFatmanFactory.getNukeTotsConfig()); configSet.put(NUKE_TOTS, GunFatmanFactory.getNukeTotsConfig());
configSet.put(NUKE_SAFE, GunFatmanFactory.getNukeSafeConfig()); configSet.put(NUKE_SAFE, GunFatmanFactory.getNukeSafeConfig());
configSet.put(NUKE_PUMPKIN, GunFatmanFactory.getNukePumpkinConfig()); configSet.put(NUKE_PUMPKIN, GunFatmanFactory.getNukePumpkinConfig());
configSet.put(NUKE_BARREL, GunFatmanFactory.getNukeBarrelConfig());
configSet.put(NUKE_PROTO_NORMAL, GunFatmanFactory.getNukeConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_NORMAL, GunFatmanFactory.getNukeConfig().accuracyMod(20F));
configSet.put(NUKE_PROTO_LOW, GunFatmanFactory.getNukeLowConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_LOW, GunFatmanFactory.getNukeLowConfig().accuracyMod(20F));
configSet.put(NUKE_PROTO_HIGH, GunFatmanFactory.getNukeHighConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_HIGH, GunFatmanFactory.getNukeHighConfig().accuracyMod(20F));

View File

@ -120,6 +120,7 @@ public class BulletConfiguration {
public static final int STYLE_METEOR = 13; public static final int STYLE_METEOR = 13;
public static final int STYLE_APDS = 14; public static final int STYLE_APDS = 14;
public static final int STYLE_BLADE = 15; public static final int STYLE_BLADE = 15;
public static final int STYLE_BARREL = 16;
public static final int PLINK_NONE = 0; public static final int PLINK_NONE = 0;
public static final int PLINK_BULLET = 1; public static final int PLINK_BULLET = 1;

View File

@ -2,6 +2,7 @@ package com.hbm.handler.guncfg;
import java.util.ArrayList; import java.util.ArrayList;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT;
@ -9,6 +10,7 @@ import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration; import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration; import com.hbm.handler.GunConfiguration;
import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.interfaces.IBulletImpactBehavior;
import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.interfaces.IBulletUpdateBehavior;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
@ -17,7 +19,9 @@ import com.hbm.packet.PacketDispatcher;
import com.hbm.render.util.RenderScreenOverlay.Crosshair; import com.hbm.render.util.RenderScreenOverlay.Crosshair;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class GunFatmanFactory { public class GunFatmanFactory {
@ -213,7 +217,7 @@ public class GunFatmanFactory {
@Override @Override
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
if(bullet.worldObj.isRemote) { if(!bullet.worldObj.isRemote) {
double posX = bullet.posX; double posX = bullet.posX;
double posY = bullet.posY + 0.5; double posY = bullet.posY + 0.5;
@ -233,6 +237,63 @@ public class GunFatmanFactory {
return bullet; return bullet;
} }
public static BulletConfiguration getNukeBarrelConfig() {
BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig();
bullet.ammo = ModItems.ammo_nuke_pumpkin;
bullet.explosive = 3F;
bullet.style = bullet.STYLE_BARREL;
bullet.bImpact = new IBulletImpactBehavior() {
@Override
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
if(!bullet.worldObj.isRemote) {
double posX = bullet.posX;
double posY = bullet.posY + 0.5;
double posZ = bullet.posZ;
if(y >= 0) {
posX = x + 0.5;
posY = y + 1.5;
posZ = z + 0.5;
}
x = (int)Math.floor(posX);
y = (int)Math.floor(posY);
z = (int)Math.floor(posZ);
World worldObj = bullet.worldObj;
for(int ix = x - 3; ix <= x + 3; ix++) {
for(int iy = y - 3; iy <= y + 3; iy++) {
for(int iz = z - 3; iz <= z + 3; iz++) {
if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock(ix, iy, iz).isReplaceable(worldObj, ix, iy, iz) && ModBlocks.fallout.canPlaceBlockAt(worldObj, ix, iy, iz)) {
worldObj.setBlock(ix, iy, iz, ModBlocks.fallout);
} else if(worldObj.getBlock(ix, iy, iz) == Blocks.air) {
if(worldObj.rand.nextBoolean())
worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon);
else
worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon_dense);
}
}
}
}
ChunkRadiationManager.proxy.incrementRad(worldObj, x, y, z, 100F);
ExplosionLarge.spawnParticles(bullet.worldObj, posX, posY, posZ, 45);
}
}
};
return bullet;
}
public static BulletConfiguration getMirvConfig() { public static BulletConfiguration getMirvConfig() {
BulletConfiguration bullet = getNukeConfig(); BulletConfiguration bullet = getNukeConfig();

View File

@ -950,15 +950,13 @@ public class AssemblerRecipes {
}, 200); }, 200);
makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] {
new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.ingot(), 12),
new OreDictStack(TCALLOY.ingot(), 4), new OreDictStack(TCALLOY.ingot(), 4),
new ComparableStack(ModBlocks.steel_beam, 16),
new OreDictStack(DURA.ingot(), 10), new OreDictStack(DURA.ingot(), 10),
new OreDictStack(DESH.ingot(), 4), new OreDictStack(RUBBER.ingot(), 4),
new OreDictStack(PB.plate(), 12), new OreDictStack(PB.plate(), 12),
new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.board_copper, 4),
new ComparableStack(ModItems.thermo_element, 10), new ComparableStack(ModItems.thermo_element, 10),
new ComparableStack(ModItems.circuit_copper, 3),
new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.wire_red_copper, 8),
new ComparableStack(ModItems.tank_steel, 3) new ComparableStack(ModItems.tank_steel, 3)
}, 200); }, 200);

View File

@ -162,7 +162,8 @@ public class RefineryRecipes {
}; };
ItemStack[] out = new ItemStack[] { ItemStack[] out = new ItemStack[] {
ItemFluidIcon.make(recipe.getValue().getKey()), ItemFluidIcon.make(recipe.getValue().getKey()),
ItemFluidIcon.make(recipe.getValue().getValue()) ItemFluidIcon.make(recipe.getValue().getValue()),
ItemFluidIcon.make(Fluids.SPENTSTEAM, 2)
}; };
recipes.put(in, recipe.getValue().getValue().type == Fluids.NONE ? ItemFluidIcon.make(recipe.getValue().getKey()) : out); recipes.put(in, recipe.getValue().getValue().type == Fluids.NONE ? ItemFluidIcon.make(recipe.getValue().getKey()) : out);

View File

@ -1551,6 +1551,7 @@ public class ModItems {
public static Item ammo_nuke_tots; public static Item ammo_nuke_tots;
public static Item ammo_nuke_safe; public static Item ammo_nuke_safe;
public static Item ammo_nuke_pumpkin; public static Item ammo_nuke_pumpkin;
public static Item ammo_nuke_barrel;
public static Item ammo_mirv; public static Item ammo_mirv;
public static Item ammo_mirv_low; public static Item ammo_mirv_low;
public static Item ammo_mirv_high; public static Item ammo_mirv_high;
@ -4216,6 +4217,7 @@ public class ModItems {
ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots"); ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots");
ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe"); ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe");
ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin"); ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin");
ammo_nuke_barrel = new ItemAmmo().setUnlocalizedName("ammo_nuke_barrel");
ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv"); ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv");
ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low"); ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low");
ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high"); ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high");
@ -7251,6 +7253,7 @@ public class ModItems {
GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_safe, ammo_nuke_safe.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_safe, ammo_nuke_safe.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_pumpkin, ammo_nuke_pumpkin.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_pumpkin, ammo_nuke_pumpkin.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_barrel, ammo_nuke_barrel.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv, ammo_mirv.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv, ammo_mirv.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName());

View File

@ -7,8 +7,10 @@ import org.apache.logging.log4j.Level;
import com.hbm.config.GeneralConfig; import com.hbm.config.GeneralConfig;
import com.hbm.interfaces.IBomb; import com.hbm.interfaces.IBomb;
import com.hbm.interfaces.IBomb.BombReturnCode; import com.hbm.interfaces.IBomb.BombReturnCode;
import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
import com.hbm.util.ChatBuilder; import com.hbm.util.ChatBuilder;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -19,7 +21,7 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
public class ItemLaserDetonator extends Item { public class ItemLaserDetonator extends Item implements IHoldableWeapon {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
@ -70,4 +72,9 @@ public class ItemLaserDetonator extends Item {
return stack; return stack;
} }
@Override
public Crosshair getCrosshair() {
return Crosshair.L_ARROWS;
}
} }

View File

@ -60,7 +60,6 @@ public class Library {
public static String Hoboy03new = "d7f29d9c-5103-4f6f-88e1-2632ff95973f"; public static String Hoboy03new = "d7f29d9c-5103-4f6f-88e1-2632ff95973f";
public static String Dragon59MC = "dc23a304-0f84-4e2d-b47d-84c8d3bfbcdb"; public static String Dragon59MC = "dc23a304-0f84-4e2d-b47d-84c8d3bfbcdb";
public static String Steelcourage = "ac49720b-4a9a-4459-a26f-bee92160287a"; 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 String ZippySqrl = "03c20435-a229-489a-a1a1-671b803f7017";
public static String Schrabby = "3a4a1944-5154-4e67-b80a-b6561e8630b7"; public static String Schrabby = "3a4a1944-5154-4e67-b80a-b6561e8630b7";
public static String SweatySwiggs = "5544aa30-b305-4362-b2c1-67349bb499d5"; public static String SweatySwiggs = "5544aa30-b305-4362-b2c1-67349bb499d5";
@ -74,6 +73,7 @@ public class Library {
public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03"; public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03";
public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4"; public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4";
public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531"; public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531";
public static String the_NCR = "28ae585f-4431-4491-9ce8-3def6126e3c6";
public static Set<String> contributors = Sets.newHashSet(new String[] { public static Set<String> contributors = Sets.newHashSet(new String[] {
"06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf

View File

@ -52,6 +52,7 @@ public class ModDamageSource extends DamageSource {
public static DamageSource mku = (new DamageSource("mku")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource mku = (new DamageSource("mku")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource vacuum = (new DamageSource("vacuum")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource vacuum = (new DamageSource("vacuum")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource overdose = (new DamageSource("overdose")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource overdose = (new DamageSource("overdose")).setDamageIsAbsolute().setDamageBypassesArmor();
public static DamageSource microwave = (new DamageSource("microwave")).setDamageIsAbsolute().setDamageBypassesArmor();
public static final String s_bullet = "revolverBullet"; public static final String s_bullet = "revolverBullet";
public static final String s_emplacer = "chopperBullet"; public static final String s_emplacer = "chopperBullet";

View File

@ -415,6 +415,7 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15());
MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser());
//multitool //multitool
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool());
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool());

View File

@ -62,7 +62,6 @@ import com.hbm.util.EntityDamageUtil;
import com.hbm.world.WorldProviderNTM; import com.hbm.world.WorldProviderNTM;
import com.hbm.world.generator.TimedGenerator; import com.hbm.world.generator.TimedGenerator;
import codechicken.lib.math.MathHelper;
import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@ -114,6 +113,7 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.FoodStats; import net.minecraft.util.FoodStats;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.EnumSkyBlock;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -1004,9 +1004,10 @@ public class ModEventHandler {
if(player.getCurrentArmor(2) == null && !player.onGround) { if(player.getCurrentArmor(2) == null && !player.onGround) {
boolean isBob = player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft"); boolean isBob = player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft");
boolean isSol = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd"); boolean isOther = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd") ||
player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR");
if(isBob || isSol) { if(isBob || isOther) {
ArmorUtil.resetFlightTime(player); ArmorUtil.resetFlightTime(player);
@ -1029,7 +1030,7 @@ public class ModEventHandler {
else else
player.motionY = cap + 0.15D; player.motionY = cap + 0.15D;
if(isSol) { if(isOther) {
if(player.getFoodStats().getSaturationLevel() > 0F) if(player.getFoodStats().getSaturationLevel() > 0F)
player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect
else else
@ -1045,7 +1046,7 @@ public class ModEventHandler {
else if(player.motionY < 0) else if(player.motionY < 0)
player.motionY = 0; player.motionY = 0;
if(isSol && !player.onGround) { if(isOther && !player.onGround) {
if(player.getFoodStats().getSaturationLevel() > 0F) if(player.getFoodStats().getSaturationLevel() > 0F)
player.addExhaustion(4F); player.addExhaustion(4F);
else else

View File

@ -335,7 +335,9 @@ public class ModEventHandlerClient {
if(player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd")) if(player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd"))
RenderAccessoryUtility.renderSol(event); RenderAccessoryUtility.renderSol(event);
if(player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft")) if(player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft"))
RenderAccessoryUtility.renderWings(event); RenderAccessoryUtility.renderWings(event, 2);
if(player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR"))
RenderAccessoryUtility.renderWings(event, 3);
} }
} }

View File

@ -624,6 +624,7 @@ public class ResourceManager {
public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj")); public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj"));
public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj")); public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj"));
public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj")); public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj"));
public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj"));
public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj"));
@ -692,6 +693,7 @@ public class ResourceManager {
public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png"); public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png");
public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png"); public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png");
public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png"); public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png");
public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png");
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");
@ -756,6 +758,7 @@ public class ResourceManager {
public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png"); public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png");
public static final ResourceLocation wings_bob = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_bob.png"); public static final ResourceLocation wings_bob = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_bob.png");
public static final ResourceLocation wings_black = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_black.png");
public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png"); public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png");
public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png"); public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png");

View File

@ -68,6 +68,7 @@ public class RenderBullet extends Render {
case BulletConfiguration.STYLE_METEOR: renderMeteor(trail); break; case BulletConfiguration.STYLE_METEOR: renderMeteor(trail); break;
case BulletConfiguration.STYLE_APDS: renderAPDS(); break; case BulletConfiguration.STYLE_APDS: renderAPDS(); break;
case BulletConfiguration.STYLE_BLADE: renderBlade(); break; case BulletConfiguration.STYLE_BLADE: renderBlade(); break;
case BulletConfiguration.STYLE_BARREL: renderNuke(3); break;
default: renderBullet(trail); break; default: renderBullet(trail); break;
} }
@ -217,6 +218,13 @@ public class RenderBullet extends Render {
case 2: case 2:
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png")); bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png"));
bf.renderAll(0.0625F); break; bf.renderAll(0.0625F); break;
case 3:
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotated(90, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0);
bindTexture(ResourceManager.waste_drum_tex);
ResourceManager.waste_drum.renderAll();
break;
} }
} }

View File

@ -0,0 +1,100 @@
package com.hbm.render.item;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
public class ItemRenderDetonatorLaser implements IItemRenderer {
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
case ENTITY:
case INVENTORY:
return true;
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING);
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.detonator_laser_tex);
switch(type) {
case EQUIPPED_FIRST_PERSON:
double s0 = 0.25D;
GL11.glScaled(s0, s0, s0);
GL11.glRotatef(80F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-20F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(1.0F, 0.5F, 3.0F);
break;
case EQUIPPED:
double scale = 0.125D;
GL11.glScaled(-scale, -scale, -scale);
GL11.glRotatef(85F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(145F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.5F, -1.0F, 6.5F);
break;
case ENTITY:
double s1 = 0.25D;
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
GL11.glScaled(s1, s1, s1);
break;
case INVENTORY:
GL11.glEnable(GL11.GL_LIGHTING);
double s = 3.5D;
GL11.glScaled(s, s, -s);
GL11.glTranslatef(1.5F, 2.75F, 0.0F);
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F);
break;
default: break;
}
ResourceManager.detonator_laser.renderPart("Main");
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor3f(1F, 0F, 0F);
ResourceManager.detonator_laser.renderPart("Lights");
GL11.glColor3f(1F, 1F, 1F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -163,6 +163,8 @@ public class ModelArmorWings extends ModelArmorBase {
if(this.type == 2) if(this.type == 2)
return ResourceManager.wings_bob; return ResourceManager.wings_bob;
if(this.type == 3)
return ResourceManager.wings_black;
return ResourceManager.wings_murk; return ResourceManager.wings_murk;
} }

View File

@ -143,17 +143,17 @@ public class RenderAccessoryUtility {
solModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); solModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
} }
private static ModelBiped wingModel; private static ModelBiped[] wingModels = new ModelBiped[10];
public static void renderWings(RenderPlayerEvent.SetArmorModel event) { public static void renderWings(RenderPlayerEvent.SetArmorModel event, int mode) {
if(wingModel == null) if(wingModels[mode] == null)
wingModel = new ModelArmorWings(2); wingModels[mode] = new ModelArmorWings(mode);
RenderPlayer renderer = event.renderer; RenderPlayer renderer = event.renderer;
ModelBiped model = renderer.modelArmor; ModelBiped model = renderer.modelArmor;
EntityPlayer player = event.entityPlayer; EntityPlayer player = event.entityPlayer;
wingModel.isSneak = model.isSneak; wingModels[mode].isSneak = model.isSneak;
float interp = event.partialRenderTick; float interp = event.partialRenderTick;
float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp; float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp;
@ -162,6 +162,6 @@ public class RenderAccessoryUtility {
float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset); float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset);
float pitch = player.rotationPitch; float pitch = player.rotationPitch;
wingModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); wingModels[mode].render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
} }
} }

View File

@ -0,0 +1,17 @@
package com.hbm.sound.nt;
import net.minecraft.util.Vec3;
public interface ISoundSourceTE {
public Vec3 getSoundLocation();
public boolean isPlaying();
public default float getVolume() {
return 1F;
}
public default float getPitch() {
return 1F;
}
}

View File

@ -0,0 +1,90 @@
package com.hbm.sound.nt;
import net.minecraft.client.audio.ITickableSound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
public class SoundTE implements ITickableSound {
ISoundSourceTE source;
private ResourceLocation sound;
private boolean canRepeat = true;
private int repeatDelay = 0;
private boolean donePlaying = true;
private float soundX;
private float soundY;
private float soundZ;
private float volume;
private float pitch;
public SoundTE(String sound) {
this.sound = new ResourceLocation(sound);
}
@Override
public ResourceLocation getPositionedSoundLocation() {
return this.sound;
}
@Override
public boolean canRepeat() {
return this.canRepeat;
}
@Override
public int getRepeatDelay() {
return this.repeatDelay;
}
@Override
public float getVolume() {
return this.volume;
}
@Override
public float getPitch() {
return this.pitch;
}
@Override
public float getXPosF() {
return this.soundX;
}
@Override
public float getYPosF() {
return this.soundY;
}
@Override
public float getZPosF() {
return this.soundZ;
}
@Override
public AttenuationType getAttenuationType() {
return AttenuationType.LINEAR;
}
@Override
public void update() {
if(this.source == null)
return;
this.volume = this.source.getVolume();
this.pitch = this.source.getPitch();
Vec3 pos = this.source.getSoundLocation();
this.soundX = (float) pos.xCoord;
this.soundY = (float) pos.yCoord;
this.soundZ = (float) pos.zCoord;
}
@Override
public boolean isDonePlaying() {
return this.donePlaying;
}
}

View File

@ -30,7 +30,7 @@ public class TileEntityHadronPower extends TileEntity implements IEnergyUser {
@Override @Override
public void setPower(long i) { public void setPower(long i) {
power = i; power = i;
this.markDirty(); this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this);
} }
@Override @Override

View File

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.IFluidSource;
import com.hbm.inventory.FluidTank; import com.hbm.inventory.FluidTank;
@ -17,17 +16,13 @@ import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.InventoryUtil; import com.hbm.util.InventoryUtil;
import api.hbm.energy.IEnergyUser; import api.hbm.energy.IEnergyUser;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@ -220,6 +215,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
this.power -= this.consumption; this.power -= this.consumption;
this.progress++; this.progress++;
if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined)
slots[0] = new ItemStack(ModItems.meteorite_sword_treated); //fisfndmoivndlmgindgifgjfdnblfm
ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage());
this.maxProgress = recipe.getDuration() * this.speed / 100; this.maxProgress = recipe.getDuration() * this.speed / 100;
@ -411,10 +409,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
@Override @Override
public int getMaxFluidFill(FluidType type) { public int getMaxFluidFill(FluidType type) {
for(FluidTank tank : tanks) { for(int i = 0; i < 2; i++) {
if(tank.getTankType() == type) { if(tanks[i].getTankType() == type) {
return tanks[i].getMaxFill();
return tank.getMaxFill();
} }
} }
@ -476,9 +473,6 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
} }
} }
@Deprecated
public void handleButtonPacket(int value, int meta) { }
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt); super.readFromNBT(nbt);

View File

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.IFluidSource;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
@ -14,29 +13,28 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.inventory.recipes.RefineryRecipes;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.util.Tuple.Pair; import com.hbm.util.Tuple.Pair;
import com.hbm.util.Tuple.Quartet;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import scala.actors.threadpool.Arrays;
public class TileEntityMachineCatalyticCracker extends TileEntity implements IFluidSource, IFluidAcceptor { public class TileEntityMachineCatalyticCracker extends TileEntity implements IFluidSource, IFluidAcceptor {
public FluidTank[] tanks; public FluidTank[] tanks;
public List<IFluidAcceptor> list1 = new ArrayList(); public List<IFluidAcceptor> list1 = new ArrayList();
public List<IFluidAcceptor> list2 = new ArrayList(); public List<IFluidAcceptor> list2 = new ArrayList();
public List<IFluidAcceptor> list3 = new ArrayList();
public TileEntityMachineCatalyticCracker() { public TileEntityMachineCatalyticCracker() {
tanks = new FluidTank[4]; tanks = new FluidTank[5];
tanks[0] = new FluidTank(Fluids.BITUMEN, 4000, 0); tanks[0] = new FluidTank(Fluids.BITUMEN, 4000, 0);
tanks[1] = new FluidTank(Fluids.STEAM, 8000, 1); tanks[1] = new FluidTank(Fluids.STEAM, 8000, 1);
tanks[2] = new FluidTank(Fluids.OIL, 4000, 2); tanks[2] = new FluidTank(Fluids.OIL, 4000, 2);
tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000, 3); tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000, 3);
tanks[4] = new FluidTank(Fluids.SPENTSTEAM, 800, 4);
} }
@Override @Override
@ -52,6 +50,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
if(worldObj.getTotalWorldTime() % 10 == 0) { if(worldObj.getTotalWorldTime() % 10 == 0) {
fillFluidInit(tanks[2].getTankType()); fillFluidInit(tanks[2].getTankType());
fillFluidInit(tanks[3].getTankType()); fillFluidInit(tanks[3].getTankType());
fillFluidInit(tanks[4].getTankType());
} }
} }
} }
@ -70,12 +69,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
tanks[1].setFill(tanks[1].getFill() - 200); tanks[1].setFill(tanks[1].getFill() - 200);
tanks[2].setFill(tanks[2].getFill() + left); tanks[2].setFill(tanks[2].getFill() + left);
tanks[3].setFill(tanks[3].getFill() + right); tanks[3].setFill(tanks[3].getFill() + right);
tanks[4].setFill(tanks[4].getFill() + 2); //LPS has the density of WATER not STEAM (1%!)
} }
} }
} }
private boolean hasSpace(int left, int right) { private boolean hasSpace(int left, int right) {
return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill(); return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill() && tanks[4].getFill() + 200 <= tanks[4].getMaxFill();
} }
private void setupTanks() { private void setupTanks() {
@ -86,11 +86,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
tanks[1].setTankType(Fluids.STEAM); tanks[1].setTankType(Fluids.STEAM);
tanks[2].setTankType(quart.getKey().type); tanks[2].setTankType(quart.getKey().type);
tanks[3].setTankType(quart.getValue().type); tanks[3].setTankType(quart.getValue().type);
tanks[4].setTankType(Fluids.SPENTSTEAM);
} else { } else {
tanks[0].setTankType(Fluids.NONE); tanks[0].setTankType(Fluids.NONE);
tanks[1].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE);
tanks[2].setTankType(Fluids.NONE); tanks[2].setTankType(Fluids.NONE);
tanks[3].setTankType(Fluids.NONE); tanks[3].setTankType(Fluids.NONE);
tanks[4].setTankType(Fluids.NONE);
} }
} }
@ -98,7 +100,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt); super.readFromNBT(nbt);
for(int i = 0; i < 3; i++) for(int i = 0; i < 5; i++)
tanks[i].readFromNBT(nbt, "tank" + i); tanks[i].readFromNBT(nbt, "tank" + i);
} }
@ -106,13 +108,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
public void writeToNBT(NBTTagCompound nbt) { public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt); super.writeToNBT(nbt);
for(int i = 0; i < 3; i++) for(int i = 0; i < 5; i++)
tanks[i].writeToNBT(nbt, "tank" + i); tanks[i].writeToNBT(nbt, "tank" + i);
} }
@Override @Override
public void setFillForSync(int fill, int index) { public void setFillForSync(int fill, int index) {
if(index < 4 && tanks[index] != null) if(index < 5 && tanks[index] != null)
tanks[index].setFill(fill); tanks[index].setFill(fill);
} }
@ -181,6 +183,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
public List<IFluidAcceptor> getFluidList(FluidType type) { public List<IFluidAcceptor> getFluidList(FluidType type) {
if(type == tanks[2].getTankType()) return list1; if(type == tanks[2].getTankType()) return list1;
if(type == tanks[3].getTankType()) return list2; if(type == tanks[3].getTankType()) return list2;
if(type == tanks[4].getTankType()) return list3;
return new ArrayList<IFluidAcceptor>(); return new ArrayList<IFluidAcceptor>();
} }
@ -188,6 +191,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl
public void clearFluidList(FluidType type) { public void clearFluidList(FluidType type) {
if(type == tanks[2].getTankType()) list1.clear(); if(type == tanks[2].getTankType()) list1.clear();
if(type == tanks[3].getTankType()) list2.clear(); if(type == tanks[3].getTankType()) list2.clear();
if(type == tanks[4].getTankType()) list3.clear();
} }
AxisAlignedBB bb = null; AxisAlignedBB bb = null;

View File

@ -213,6 +213,14 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke
} }
} }
@Override
public void markDirty() {
if(this.worldObj != null) {
this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this);
}
}
protected void coolPassively() { protected void coolPassively() {
if(ModEventHandler.fire > 0) { if(ModEventHandler.fire > 0) {

View File

@ -152,7 +152,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
if(this.target != null && this.getPower() >= demand) { if(this.target != null && this.getPower() >= demand) {
EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F); EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.microwave, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F);
if(pinkLevel > 0) if(pinkLevel > 0)
this.target.setFire(this.pinkLevel * 3); this.target.setFire(this.pinkLevel * 3);

View File

@ -349,6 +349,7 @@ death.attack.laser.item=%1$s wurde von %2$s mit %3$s zerbröselt.
death.attack.lead=%1$s starb an Bleivergiftung. death.attack.lead=%1$s starb an Bleivergiftung.
death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen. death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen.
death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen. death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen.
death.attack.microwave=%1$s explodierte wegen Mikrowellenstrahlung.
death.attack.mku=%1$s starb aus unbekannten Gründen. death.attack.mku=%1$s starb aus unbekannten Gründen.
death.attack.monoxide=%1$s vergaß, die Batterien im Kohlenmonoxid-Detektor auszutauschen. death.attack.monoxide=%1$s vergaß, die Batterien im Kohlenmonoxid-Detektor auszutauschen.
death.attack.mudPoisoning=%1$s starb an Giftschlamm. death.attack.mudPoisoning=%1$s starb an Giftschlamm.

View File

@ -521,6 +521,7 @@ death.attack.laser.item=%1$s was turned into ash by %2$s using %3$s.
death.attack.lead=%1$s died from lead poisoning. death.attack.lead=%1$s died from lead poisoning.
death.attack.lunar=%1$s forgot to charge their vital organs. death.attack.lunar=%1$s forgot to charge their vital organs.
death.attack.meteorite=%1$s was hit by a falling rock from outer space. death.attack.meteorite=%1$s was hit by a falling rock from outer space.
death.attack.microwave=%1$s was exploded by microwave radiation.
death.attack.mku=%1$s died from unknown causes. death.attack.mku=%1$s died from unknown causes.
death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector.
death.attack.mudPoisoning=%1$s died in poisonous mud. death.attack.mudPoisoning=%1$s died in poisonous mud.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB