aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common/tools
diff options
context:
space:
mode:
authordraknyte1 <draknyte1@hotmail.com>2016-11-04 15:23:26 +1000
committerdraknyte1 <draknyte1@hotmail.com>2016-11-04 15:23:26 +1000
commit0669f5eb9d5029a8b94ec552171b0837605f7747 (patch)
tree6b40e64c04d51b7a33cf2f0b35f7232cf37c4247 /src/Java/gtPlusPlus/xmod/gregtech/common/tools
parent3654052fb63a571c5eaca7f20714b87c17f7e966 (diff)
downloadGT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.tar.gz
GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.tar.bz2
GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.zip
$ Cleaned up the entire project.
> Much neat, very nices.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common/tools')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java152
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java315
2 files changed, 255 insertions, 212 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java
index 4c13aa6ca6..0c25018391 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java
@@ -16,56 +16,67 @@ import net.minecraft.stats.AchievementList;
import net.minecraft.util.*;
import net.minecraftforge.event.world.BlockEvent;
-public abstract class TOOL_Gregtech_Base
-implements Interface_ToolStats {
- public static final Enchantment[] FORTUNE_ENCHANTMENT = {Enchantment.fortune};
- public static final Enchantment[] LOOTING_ENCHANTMENT = {Enchantment.looting};
- public static final Enchantment[] ZERO_ENCHANTMENTS = new Enchantment[0];
- public static final int[] ZERO_ENCHANTMENT_LEVELS = new int[0];
+public abstract class TOOL_Gregtech_Base implements Interface_ToolStats {
+ public static final Enchantment[] FORTUNE_ENCHANTMENT = {
+ Enchantment.fortune
+ };
+ public static final Enchantment[] LOOTING_ENCHANTMENT = {
+ Enchantment.looting
+ };
+ public static final Enchantment[] ZERO_ENCHANTMENTS = new Enchantment[0];
+ public static final int[] ZERO_ENCHANTMENT_LEVELS = new int[0];
@Override
- public int getToolDamagePerBlockBreak() {
- return 100;
+ public boolean canBlock() {
+ return false;
}
@Override
- public int getToolDamagePerDropConversion() {
- return 100;
+ public int convertBlockDrops(final List<ItemStack> aDrops, final ItemStack aStack, final EntityPlayer aPlayer,
+ final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune,
+ final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) {
+ return 0;
}
@Override
- public int getToolDamagePerContainerCraft() {
- return 800;
+ public int getBaseQuality() {
+ return 0;
}
@Override
- public int getToolDamagePerEntityAttack() {
- return 200;
+ public String getBreakingSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(0));
}
@Override
- public float getSpeedMultiplier() {
- return 1.0F;
+ public ItemStack getBrokenItem(final ItemStack aStack) {
+ return null;
}
@Override
- public float getMaxDurabilityMultiplier() {
- return 1.0F;
+ public String getCraftingSound() {
+ return null;
}
@Override
- public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
- return aOriginalHurtResistance;
+ public DamageSource getDamageSource(final EntityLivingBase aPlayer, final Entity aEntity) {
+ return GT_DamageSources.getCombatDamage(aPlayer instanceof EntityPlayer ? "player" : "mob", aPlayer,
+ aEntity instanceof EntityLivingBase ? this.getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null);
+ }
+
+ public IChatComponent getDeathMessage(final EntityLivingBase aPlayer, final EntityLivingBase aEntity) {
+ return new EntityDamageSource(aPlayer instanceof EntityPlayer ? "player" : "mob", aPlayer)
+ .func_151519_b(aEntity);
}
@Override
- public String getMiningSound() {
- return null;
+ public int[] getEnchantmentLevels(final ItemStack aStack) {
+ return TOOL_Gregtech_Base.ZERO_ENCHANTMENT_LEVELS;
}
@Override
- public String getCraftingSound() {
- return null;
+ public Enchantment[] getEnchantments(final ItemStack aStack) {
+ return TOOL_Gregtech_Base.ZERO_ENCHANTMENTS;
}
@Override
@@ -74,100 +85,99 @@ implements Interface_ToolStats {
}
@Override
- public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ public int getHurtResistanceTime(final int aOriginalHurtResistance, final Entity aEntity) {
+ return aOriginalHurtResistance;
}
@Override
- public int getBaseQuality() {
- return 0;
+ public float getMagicDamageAgainstEntity(final float aOriginalDamage, final Entity aEntity, final ItemStack aStack,
+ final EntityPlayer aPlayer) {
+ return aOriginalDamage;
}
@Override
- public boolean canBlock() {
- return false;
+ public float getMaxDurabilityMultiplier() {
+ return 1.0F;
}
@Override
- public boolean isCrowbar() {
- return false;
+ public String getMiningSound() {
+ return null;
}
@Override
- public boolean isWrench() {
- return false;
+ public float getNormalDamageAgainstEntity(final float aOriginalDamage, final Entity aEntity, final ItemStack aStack,
+ final EntityPlayer aPlayer) {
+ return aOriginalDamage;
}
@Override
- public boolean isWeapon() {
- return false;
+ public float getSpeedMultiplier() {
+ return 1.0F;
}
@Override
- public boolean isRangedWeapon() {
- return false;
+ public int getToolDamagePerBlockBreak() {
+ return 100;
}
@Override
- public boolean isMiningTool() {
- return true;
- }
-
- public boolean isChainsaw(){
- return false;
+ public int getToolDamagePerContainerCraft() {
+ return 800;
}
-
-
- public boolean isGrafter(){
- return false;
+
+ @Override
+ public int getToolDamagePerDropConversion() {
+ return 100;
}
-
- public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity) {
- return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null);
+ @Override
+ public int getToolDamagePerEntityAttack() {
+ return 200;
}
- public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
- return new EntityDamageSource((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer).func_151519_b(aEntity);
+ public boolean isChainsaw() {
+ return false;
}
@Override
- public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
- return 0;
+ public boolean isCrowbar() {
+ return false;
}
@Override
- public ItemStack getBrokenItem(ItemStack aStack) {
- return null;
+ public boolean isGrafter() {
+ return false;
}
@Override
- public Enchantment[] getEnchantments(ItemStack aStack) {
- return ZERO_ENCHANTMENTS;
+ public boolean isMiningTool() {
+ return true;
}
@Override
- public int[] getEnchantmentLevels(ItemStack aStack) {
- return ZERO_ENCHANTMENT_LEVELS;
+ public boolean isRangedWeapon() {
+ return false;
}
@Override
- public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
- aPlayer.triggerAchievement(AchievementList.openInventory);
- aPlayer.triggerAchievement(AchievementList.mineWood);
- aPlayer.triggerAchievement(AchievementList.buildWorkBench);
+ public boolean isWeapon() {
+ return false;
}
-
- public void onStatsAddedToTool(Gregtech_MetaTool aItem, int aID) {
+
+ @Override
+ public boolean isWrench() {
+ return false;
}
@Override
- public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
- return aOriginalDamage;
+ public void onStatsAddedToTool(final Gregtech_MetaTool aItem, final int aID) {
}
@Override
- public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
- return aOriginalDamage;
+ public void onToolCrafted(final ItemStack aStack, final EntityPlayer aPlayer) {
+ aPlayer.triggerAchievement(AchievementList.openInventory);
+ aPlayer.triggerAchievement(AchievementList.mineWood);
+ aPlayer.triggerAchievement(AchievementList.buildWorkBench);
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java
index 4a21eaa395..45849ebed8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java
@@ -23,174 +23,207 @@ import net.minecraft.stats.AchievementList;
import net.minecraft.util.*;
import net.minecraftforge.event.world.BlockEvent;
-public class TOOL_Gregtech_Choocher
- extends TOOL_Gregtech_Base {
-
- public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityIronGolem.class.getName(), "EntityTowerGuardian"});
-
-
- @Override
- public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
- String tName = aEntity.getClass().getName();
- tName = tName.substring(tName.lastIndexOf(".") + 1);
- return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
- }
-
- @Override
- public int getToolDamagePerBlockBreak() {
- return 50;
- }
+public class TOOL_Gregtech_Choocher extends TOOL_Gregtech_Base {
- @Override
- public int getToolDamagePerDropConversion() {
- return 100;
- }
-
- @Override
- public int getToolDamagePerContainerCraft() {
- return 400;
- }
+ public static final List<String> mEffectiveList = Arrays.asList(new String[] {
+ EntityIronGolem.class.getName(), "EntityTowerGuardian"
+ });
- @Override
- public int getToolDamagePerEntityAttack() {
- return 100;
- }
+ @Override
+ public boolean canBlock() {
+ return true;
+ }
- @Override
- public int getBaseQuality() {
- return 0;
- }
+ @Override
+ public int convertBlockDrops(final List<ItemStack> aDrops, final ItemStack aStack, final EntityPlayer aPlayer,
+ final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune,
+ final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) {
+ int rConversions = 0;
+ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null,
+ new ItemStack[] {
+ new ItemStack(aBlock, 1, aMetaData)
+ });
+ if (tRecipe == null || aBlock.hasTileEntity(aMetaData)) {
+ for (final ItemStack tDrop : aDrops) {
+ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null,
+ new ItemStack[] {
+ GT_Utility.copyAmount(1L, new Object[] {
+ tDrop
+ })
+ });
+ if (tRecipe != null) {
+ final ItemStack tHammeringOutput = tRecipe.getOutput(0);
+ if (tHammeringOutput != null) {
+ rConversions += tDrop.stackSize;
+ tDrop.stackSize *= tHammeringOutput.stackSize;
+ tHammeringOutput.stackSize = tDrop.stackSize;
+ GT_Utility.setStack(tDrop, tHammeringOutput);
+ }
+ }
+ }
+ }
+ else {
+ aDrops.clear();
+ aDrops.add(tRecipe.getOutput(0));
+ rConversions++;
+ }
+ return rConversions;
+ }
- @Override
+ @Override
public float getBaseDamage() {
- return 4.0F;
- }
+ return 4.0F;
+ }
- @Override
- public float getSpeedMultiplier() {
- return 0.85F;
- }
+ @Override
+ public int getBaseQuality() {
+ return 0;
+ }
- @Override
- public float getMaxDurabilityMultiplier() {
- return 1.2F;
- }
+ @Override
+ public String getBreakingSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(0));
+ }
+
+ @Override
+ public ItemStack getBrokenItem(final ItemStack aStack) {
+ return null;
+ }
- @Override
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(1));
- }
+ return GregTech_API.sSoundList.get(Integer.valueOf(1));
+ }
- @Override
+ @Override
+ public IChatComponent getDeathMessage(final EntityLivingBase aPlayer, final EntityLivingBase aEntity) {
+ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE
+ + " has been Choochered by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName()
+ + EnumChatFormatting.WHITE);
+ }
+
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(2));
- }
+ return GregTech_API.sSoundList.get(Integer.valueOf(2));
+ }
- @Override
- public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
- }
+ @Override
+ public IIconContainer getIcon(final boolean aIsToolHead, final ItemStack aStack) {
+ // Utils.LOG_INFO("Texture:
+ // "+TexturesGtTools.SKOOKUM_CHOOCHER.getTextureFile());
+ return TexturesGtTools.SKOOKUM_CHOOCHER;
+ }
+
+ @Override
+ public float getMaxDurabilityMultiplier() {
+ return 1.2F;
+ }
- @Override
+ @Override
public String getMiningSound() {
- return null;
- }
+ return null;
+ }
- @Override
- public boolean canBlock() {
- return true;
- }
-
- @Override
- public boolean isWrench(){
- return true;
- }
-
- @Override
- public boolean isCrowbar() {
- return false;
- }
+ @Override
+ public float getNormalDamageAgainstEntity(final float aOriginalDamage, final Entity aEntity, final ItemStack aStack,
+ final EntityPlayer aPlayer) {
+ String tName = aEntity.getClass().getName();
+ tName = tName.substring(tName.lastIndexOf(".") + 1);
+ return TOOL_Gregtech_Choocher.mEffectiveList.contains(tName) || tName.contains("Golem") ? aOriginalDamage * 2.0F
+ : aOriginalDamage;
+ }
- @Override
- public boolean isWeapon() {
- return true;
- }
-
- @Override
- public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return ((tTool != null) && ((tTool.equals("sword")) || (tTool.equals("wrench")) || (tTool.equals("hammer")) || (tTool.equals("pickaxe")))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.piston) || (aBlock == Blocks.hopper) || (aBlock == Blocks.dispenser) || (aBlock == Blocks.dropper) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce) || (GT_Recipe.GT_Recipe_Map.sHammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData))) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.wood) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.circuits) || (aBlock.getMaterial() == Material.gourd) || (aBlock.getMaterial() == Material.web) || (aBlock.getMaterial() == Material.cloth) || (aBlock.getMaterial() == Material.carpet) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.cake) || (aBlock.getMaterial() == Material.tnt) || (aBlock.getMaterial() == Material.sponge);
- }
-
- @Override
- public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
- int rConversions = 0;
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{new ItemStack(aBlock, 1, aMetaData)});
- if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
- for (ItemStack tDrop : aDrops) {
- tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{tDrop})});
- if (tRecipe != null) {
- ItemStack tHammeringOutput = tRecipe.getOutput(0);
- if (tHammeringOutput != null) {
- rConversions += tDrop.stackSize;
- tDrop.stackSize *= tHammeringOutput.stackSize;
- tHammeringOutput.stackSize = tDrop.stackSize;
- GT_Utility.setStack(tDrop, tHammeringOutput);
- }
- }
- }
- } else {
- aDrops.clear();
- aDrops.add(tRecipe.getOutput(0));
- rConversions++;
- }
- return rConversions;
- }
-
- @Override
- public ItemStack getBrokenItem(ItemStack aStack) {
- return null;
- }
-
- @Override
- public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
- //Utils.LOG_INFO("Texture: "+TexturesGtTools.SKOOKUM_CHOOCHER.getTextureFile());
- return TexturesGtTools.SKOOKUM_CHOOCHER;
- }
-
- @Override
- public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
+ @Override
+ public short[] getRGBa(final boolean aIsToolHead, final ItemStack aStack) {
return GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa;
}
- /*@Override
- public void onStatsAddedToTool(Gregtech_MetaTool aItem, int aID) {
- aItem.addItemBehavior(aID, new Behaviour_Choocher());
- }*/
+ @Override
+ public float getSpeedMultiplier() {
+ return 0.85F;
+ }
+
+ @Override
+ public int getToolDamagePerBlockBreak() {
+ return 50;
+ }
- @Override
- public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
- super.onToolCrafted(aStack, aPlayer);
- aPlayer.triggerAchievement(AchievementList.buildSword);
- try {
- GT_Mod.instance.achievements.issueAchievement(aPlayer, "tools");
- GT_Mod.instance.achievements.issueAchievement(aPlayer, "unitool");
- } catch (Exception e) {
- }
- }
+ @Override
+ public int getToolDamagePerContainerCraft() {
+ return 400;
+ }
- @Override
- public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
- return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been Choochered by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
- }
+ @Override
+ public int getToolDamagePerDropConversion() {
+ return 100;
+ }
@Override
- public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
- aItem.addItemBehavior(aID, new Behaviour_Choocher());
+ public int getToolDamagePerEntityAttack() {
+ return 100;
+ }
+
+ @Override
+ public boolean isCrowbar() {
+ return false;
}
@Override
public boolean isGrafter() {
return false;
}
+
+ @Override
+ public boolean isMinableBlock(final Block aBlock, final byte aMetaData) {
+ final String tTool = aBlock.getHarvestTool(aMetaData);
+ return tTool != null
+ && (tTool.equals("sword") || tTool.equals("wrench") || tTool.equals("hammer")
+ || tTool.equals("pickaxe"))
+ || aBlock.getMaterial() == Material.rock || aBlock.getMaterial() == Material.glass
+ || aBlock.getMaterial() == Material.piston || aBlock == Blocks.hopper || aBlock == Blocks.dispenser
+ || aBlock == Blocks.dropper || aBlock.getMaterial() == Material.ice
+ || aBlock.getMaterial() == Material.packedIce
+ || GT_Recipe.GT_Recipe_Map.sHammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData))
+ || aBlock.getMaterial() == Material.sand || aBlock.getMaterial() == Material.grass
+ || aBlock.getMaterial() == Material.ground || aBlock.getMaterial() == Material.snow
+ || aBlock.getMaterial() == Material.clay || aBlock.getMaterial() == Material.leaves
+ || aBlock.getMaterial() == Material.vine || aBlock.getMaterial() == Material.wood
+ || aBlock.getMaterial() == Material.cactus || aBlock.getMaterial() == Material.circuits
+ || aBlock.getMaterial() == Material.gourd || aBlock.getMaterial() == Material.web
+ || aBlock.getMaterial() == Material.cloth || aBlock.getMaterial() == Material.carpet
+ || aBlock.getMaterial() == Material.plants || aBlock.getMaterial() == Material.cake
+ || aBlock.getMaterial() == Material.tnt || aBlock.getMaterial() == Material.sponge;
+ }
+
+ /*
+ * @Override public void onStatsAddedToTool(Gregtech_MetaTool aItem, int
+ * aID) { aItem.addItemBehavior(aID, new Behaviour_Choocher()); }
+ */
+
+ @Override
+ public boolean isWeapon() {
+ return true;
+ }
+
+ @Override
+ public boolean isWrench() {
+ return true;
+ }
+
+ @Override
+ public void onStatsAddedToTool(final GT_MetaGenerated_Tool aItem, final int aID) {
+ aItem.addItemBehavior(aID, new Behaviour_Choocher());
+ }
+
+ @Override
+ public void onToolCrafted(final ItemStack aStack, final EntityPlayer aPlayer) {
+ super.onToolCrafted(aStack, aPlayer);
+ aPlayer.triggerAchievement(AchievementList.buildSword);
+ try {
+ GT_Mod.achievements.issueAchievement(aPlayer, "tools");
+ GT_Mod.achievements.issueAchievement(aPlayer, "unitool");
+ }
+ catch (final Exception e) {
+ }
+ }
}