Search in sources :

Example 1 with HazardousItem

use of com.dreammaster.modhazardousitems.HazardousItems.HazardousItem in project NewHorizonsCoreMod by GTNewHorizons.

the class HazardousItemsHandler method InitSampleConfig.

public void InitSampleConfig() {
    // Create new DamageEffect
    ItmDamageEffect tFireEffect = _mHazFactory.createDamageEffect(0.5F, "inFire");
    // Create new Potioneffect
    ItmPotionEffect tPoisonPotion = _mHazFactory.createPotionEffect(100, Potion.poison.id, 1);
    // Define a testitem to hold these effects
    HazardousItem tHazItem = _mHazFactory.createHazardousItemsHazardousItem("tfarcenim:stone", true, true, true);
    HazardousFluid tHazFluid = _mHazFactory.createHazardousFluid("tfarcenim:water", true, true, true);
    // Add both effects to our defined testItem
    tHazItem.getDamageEffects().add(tFireEffect);
    tHazItem.getPotionEffects().add(tPoisonPotion);
    tHazFluid.getDamageEffects().add(tFireEffect);
    tHazFluid.getPotionEffects().add(tPoisonPotion);
    _mHazardItemsCollection = new HazardousItems();
    _mHazardItemsCollection.getHazardousItems().add(tHazItem);
    _mHazardItemsCollection.getHazardousFluids().add(tHazFluid);
}
Also used : HazardousFluid(com.dreammaster.modhazardousitems.HazardousItems.HazardousFluid) HazardousItem(com.dreammaster.modhazardousitems.HazardousItems.HazardousItem) ItmDamageEffect(com.dreammaster.modhazardousitems.HazardousItems.ItmDamageEffect) ItmPotionEffect(com.dreammaster.modhazardousitems.HazardousItems.ItmPotionEffect)

Example 2 with HazardousItem

use of com.dreammaster.modhazardousitems.HazardousItems.HazardousItem in project NewHorizonsCoreMod by GTNewHorizons.

the class HazardousItemsHandler method VerifyConfiguredDamageEffects.

/**
   * Verify defined DamageEffects in configfile
   * 
   * @param pCollection
   * @return true if everything is ok
   */
public boolean VerifyConfiguredDamageEffects(HazardousItems pItemCollection) {
    boolean tResult = true;
    for (HazardousItem hi : pItemCollection.getHazardousItems()) {
        for (ItmDamageEffect ide : hi.getDamageEffects()) {
            if (!DamageTypeHelper.IsValidDamageSource(ide.getDamageSource())) {
                _mLogger.warn(String.format("HazardousItem [%s] has invalid DamageSource entry: [%s]", hi.getItemName(), ide.getDamageSource()));
                tResult = false;
            }
        }
    }
    for (HazardousFluid hf : pItemCollection.getHazardousFluids()) {
        for (ItmDamageEffect ide : hf.getDamageEffects()) {
            if (!DamageTypeHelper.IsValidDamageSource(ide.getDamageSource())) {
                _mLogger.warn(String.format("HazardousFluid [%s] has invalid DamageSource entry: [%s]", hf.getFluidName(), ide.getDamageSource()));
                tResult = false;
            }
        }
    }
    return tResult;
}
Also used : HazardousFluid(com.dreammaster.modhazardousitems.HazardousItems.HazardousFluid) HazardousItem(com.dreammaster.modhazardousitems.HazardousItems.HazardousItem) ItmDamageEffect(com.dreammaster.modhazardousitems.HazardousItems.ItmDamageEffect)

Example 3 with HazardousItem

use of com.dreammaster.modhazardousitems.HazardousItems.HazardousItem in project NewHorizonsCoreMod by GTNewHorizons.

the class HazardousItemsHandler method VerifyConfiguredPotionEffects.

/**
   * Verify defined potioneffects in configfile
   * 
   * @param pCollection
   * @return true if everything is ok
   */
public boolean VerifyConfiguredPotionEffects(HazardousItems pItemCollection) {
    boolean tResult = true;
    for (HazardousItem hi : pItemCollection.getHazardousItems()) {
        for (ItmPotionEffect ipe : hi.getPotionEffects()) {
            if (!PotionHelper.IsValidPotionID(ipe.getId())) {
                _mLogger.warn(String.format("HazardousItem [%s] has invalid PotionID: [%s] (There is no such potion)", hi.getItemName(), ipe.getId()));
                tResult = false;
            }
        }
    }
    for (HazardousFluid hf : pItemCollection.getHazardousFluids()) {
        for (ItmPotionEffect ipe : hf.getPotionEffects()) {
            if (!PotionHelper.IsValidPotionID(ipe.getId())) {
                _mLogger.warn(String.format("HazardousFluid [%s] has invalid PotionID: [%s] (There is no such potion)", hf.getFluidName(), ipe.getId()));
                tResult = false;
            }
        }
    }
    return tResult;
}
Also used : HazardousFluid(com.dreammaster.modhazardousitems.HazardousItems.HazardousFluid) HazardousItem(com.dreammaster.modhazardousitems.HazardousItems.HazardousItem) ItmPotionEffect(com.dreammaster.modhazardousitems.HazardousItems.ItmPotionEffect)

Example 4 with HazardousItem

use of com.dreammaster.modhazardousitems.HazardousItems.HazardousItem in project NewHorizonsCoreMod by GTNewHorizons.

the class HazardousItemsHandler method CheckPlayerTouchesBlock.

/**
   * Check if player actually swims in a fluid
   * 
   * @param pPlayer
   */
private void CheckPlayerTouchesBlock(EntityPlayer pPlayer) {
    if (_mRnd.nextInt(_mExecuteChance) != 0)
        return;
    try {
        int blockX = MathHelper.floor_double(pPlayer.posX);
        int blockY = MathHelper.floor_double(pPlayer.boundingBox.minY);
        int blockZ = MathHelper.floor_double(pPlayer.posZ);
        Block pBlockContact = pPlayer.worldObj.getBlock(blockX, blockY, blockZ);
        Block pBlockUnderFeet = pPlayer.worldObj.getBlock(blockX, blockY - 1, blockZ);
        UniqueIdentifier tUidContact = GameRegistry.findUniqueIdentifierFor(pBlockContact);
        UniqueIdentifier tUidFeet = GameRegistry.findUniqueIdentifierFor(pBlockUnderFeet);
        // Skip air block and null results
        if (tUidContact != null && tUidContact.toString() != "minecraft:air") {
            HazardousFluid hf = _mHazardItemsCollection.FindHazardousFluidExact(tUidContact.toString());
            if (hf != null && hf.getCheckContact())
                DoHIEffects(hf, pPlayer);
        }
        if (tUidFeet != null && tUidFeet.toString() != "minecraft:air") {
            HazardousItem hi = _mHazardItemsCollection.FindHazardousItemExact(tUidFeet.toString());
            if (hi != null && hi.getCheckContact())
                DoHIEffects(hi, pPlayer);
        }
    } catch (Exception e) {
        _mLogger.error("HazardousItemsHandler.CheckPlayerTouchesBlock.error", "Something bad happend while processing the onPlayerTick event");
        e.printStackTrace();
    }
}
Also used : UniqueIdentifier(cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier) HazardousFluid(com.dreammaster.modhazardousitems.HazardousItems.HazardousFluid) HazardousItem(com.dreammaster.modhazardousitems.HazardousItems.HazardousItem) Block(net.minecraft.block.Block)

Example 5 with HazardousItem

use of com.dreammaster.modhazardousitems.HazardousItems.HazardousItem in project NewHorizonsCoreMod by GTNewHorizons.

the class HazardousObjectFactory method createHazardousItemsHazardousItem.

public HazardousItem createHazardousItemsHazardousItem(String pItemName, boolean pExactMatch, boolean pOnContact, boolean pOnInventory) {
    HazardousItem hi = new HazardousItem();
    hi.setItemName(pItemName);
    hi.setExactMatch(pExactMatch);
    hi.setCheckInventory(pOnInventory);
    hi.setCheckContact(pOnContact);
    return hi;
}
Also used : HazardousItem(com.dreammaster.modhazardousitems.HazardousItems.HazardousItem)

Aggregations

HazardousItem (com.dreammaster.modhazardousitems.HazardousItems.HazardousItem)6 HazardousFluid (com.dreammaster.modhazardousitems.HazardousItems.HazardousFluid)5 ItmDamageEffect (com.dreammaster.modhazardousitems.HazardousItems.ItmDamageEffect)2 ItmPotionEffect (com.dreammaster.modhazardousitems.HazardousItems.ItmPotionEffect)2 UniqueIdentifier (cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier)1 Block (net.minecraft.block.Block)1 ItemStack (net.minecraft.item.ItemStack)1 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)1 IFluidContainerItem (net.minecraftforge.fluids.IFluidContainerItem)1