Идея Плагин на атрибуты

  • Автор темы Автор темы Grides
  • Дата начала Дата начала

Grides

Участник
Пользователь
Баллы
36
Имя в Minecraft
6paTuwKa
Здравствуйте! Мне нужен плагин...
Суть плагина:
Все вы знаете, что с версии 1.6+ под мечами и инструментами пишет такой атрибут "+Х Damage Attack". Так вот, мне нужно как-то скрыть эту надпись. Я знаю, что она на стороне клиента, но, можно сделать так, чтобы эта надпись пропадала, например, только для нужной вещи а не для всех сразу. Допустим, взяв в руку нужную вещь с надписью и набрав команду /attribute hide. После этого надпись будет скрыта у данного предмета. Вот в принципе и всё...
P.S.: Плагин нужен под Cauldron 1.7.2
 
Плагин называется AtributeHider
Не благодари)
 
Кхм... этот плагин !@# НЕ РАБОТАЕТ на Cauldron, только на CraftBukkit
 
А баккита на 1.8 больше не будет.
 
А зачем мне баккит на 1.8? Вы вообще читали тему? Мне нужен плагин под ядро Cauldron 1.7.2
Я узнал, что надпись можно затереть через MCP 1.7.2. Надпись находится в ItemStack.class файле, но я немогу найти строку с кодом!
 
Что из этого всего стоит затереть, чтобы затереть надпись? Вот готовый код:

public List getTooltip(EntityPlayer par1EntityPlayer, boolean par2)
{
ArrayList var3 = new ArrayList();
String var4 = this.getDisplayName();

//if (this.hasDisplayName())
//{
// var4 = EnumChatFormatting.ITALIC + var4 + EnumChatFormatting.RESET;
//}

int var6;

if (par2)
{
String var5 = "";

if (var4.length() > 0)
{
var4 = var4 + " (";
var5 = ")";
}

var6 = Item.getIdFromItem(this.field_151002_e);

if (this.getHasSubtypes())
{
var4 = var4 + String.format("#%04d/%d%s", new Object[] {Integer.valueOf(var6), Integer.valueOf(this.itemDamage), var5});
}
else
{
var4 = var4 + String.format("#%04d%s", new Object[] {Integer.valueOf(var6), var5});
}
}
else if (!this.hasDisplayName() && this.field_151002_e == Items.filled_map)
{
var4 = var4 + " #" + this.itemDamage;
}

var3.add(var4);
this.field_151002_e.addInformation(this, par1EntityPlayer, var3, par2);

if (this.hasTagCompound())
{
NBTTagList var14 = this.getEnchantmentTagList();

if (var14 != null)
{
for (var6 = 0; var6 < var14.tagCount(); ++var6)
{
short var7 = var14.getCompoundTagAt(var6).getShort("id");
short var8 = var14.getCompoundTagAt(var6).getShort("lvl");

if (Enchantment.enchantmentsList[var7] != null)
{
var3.add(Enchantment.enchantmentsList[var7].getTranslatedName(var8));
}
}
}

if (this.stackTagCompound.func_150297_b("display", 10))
{
NBTTagCompound var17 = this.stackTagCompound.getCompoundTag("display");

if (var17.func_150297_b("color", 3))
{
if (par2)
{
var3.add("Color: #" + Integer.toHexString(var17.getInteger("color")).toUpperCase());
}
else
{
var3.add(EnumChatFormatting.ITALIC + StatCollector.translateToLocal("item.dyed"));
}
}

if (var17.func_150299_b("Lore") == 9)
{
NBTTagList var15 = var17.getTagList("Lore", 8);

if (var15.tagCount() > 0)
{
for (int var19 = 0; var19 < var15.tagCount(); ++var19)
{
var3.add(EnumChatFormatting.DARK_PURPLE + "" + EnumChatFormatting.ITALIC + var15.getStringTagAt(var19));
}
}
}
}
}

Multimap var13 = this.getAttributeModifiers();

if (!var13.isEmpty())
{
var3.add("");
Iterator var16 = var13.entries().iterator();

while (var16.hasNext())
{
Entry var18 = (Entry)var16.next();
AttributeModifier var20 = (AttributeModifier)var18.getValue();
double var9 = var20.getAmount();
double var11;

if (var20.getOperation() != 1 && var20.getOperation() != 2)
{
var11 = var20.getAmount();
}
else
{
var11 = var20.getAmount() * 100.0D;
}

if (var9 > 0.0D)
{
var3.add(EnumChatFormatting.BLUE + StatCollector.translateToLocalFormatted("attribute.modifier.plus." + var20.getOperation(), new Object[] {field_111284_a.format(var11), StatCollector.translateToLocal("attribute.name." + (String)var18.getKey())}));
}
else if (var9 < 0.0D)
{
var11 *= -1.0D;
var3.add(EnumChatFormatting.RED + StatCollector.translateToLocalFormatted("attribute.modifier.take." + var20.getOperation(), new Object[] {field_111284_a.format(var11), StatCollector.translateToLocal("attribute.name." + (String)var18.getKey())}));
}
}
}

if (this.hasTagCompound() && this.getTagCompound().getBoolean("Unbreakable"))
{
var3.add(EnumChatFormatting.BLUE + StatCollector.translateToLocal("item.unbreakable"));
}

if (par2 && this.isItemDamaged())
{
var3.add("Durability: " + (this.getMaxDamage() - this.getItemDamageForDisplay()) + " / " + this.getMaxDamage());
}

return var3;
}

public boolean hasEffect()
{
return this.getItem().hasEffect(this);
}

public EnumRarity getRarity()
{
return this.getItem().getRarity(this);
}

/**
* True if it is a tool and has no enchantments to begin with
*/
public boolean isItemEnchantable()
{
return !this.getItem().isItemTool(this) ? false : !this.isItemEnchanted();
}

/**
* Adds an enchantment with a desired level on the ItemStack.
*/
public void addEnchantment(Enchantment par1Enchantment, int par2)
{
if (this.stackTagCompound == null)
{
this.setTagCompound(new NBTTagCompound());
}

if
18:23:17

(!this.stackTagCompound.func_150297_b("ench", 9))
{
this.stackTagCompound.setTag("ench", new NBTTagList());
}

NBTTagList var3 = this.stackTagCompound.getTagList("ench", 10);
NBTTagCompound var4 = new NBTTagCompound();
var4.setShort("id", (short)par1Enchantment.effectId);
var4.setShort("lvl", (short)((byte)par2));
var3.appendTag(var4);
}
Может это?

Multimap var13 = this.getAttributeModifiers();

if (!var13.isEmpty())
{
var3.add("");
Iterator var16 = var13.entries().iterator();

while (var16.hasNext())
{
Entry var18 = (Entry)var16.next();
AttributeModifier var20 = (AttributeModifier)var18.getValue();
double var9 = var20.getAmount();
double var11;

if (var20.getOperation() != 1 && var20.getOperation() != 2)
{
var11 = var20.getAmount();
}
else
{
var11 = var20.getAmount() * 100.0D;
}

if (var9 > 0.0D)
{
var3.add(EnumChatFormatting.BLUE + StatCollector.translateToLocalFormatted("attribute.modifier.plus." + var20.getOperation(), new Object[] {field_111284_a.format(var11), StatCollector.translateToLocal("attribute.name." + (String)var18.getKey())}));
}
else if (var9 < 0.0D)
{
var11 *= -1.0D;
var3.add(EnumChatFormatting.RED + StatCollector.translateToLocalFormatted("attribute.modifier.take." + var20.getOperation(), new Object[] {field_111284_a.format(var11), StatCollector.translateToLocal("attribute.name." + (String)var18.getKey())}));
}
}
}
 
Да, всё будет хорошо. Моджанг ещё пару лет назад купил Bukkit и они сами будут заниматься разработкой CraftBukkit'а. А новость была криком души EvilSeph'а. Или попыткой насрать моджангам, не знаю.
Также сейчас у них лицензиопроблемы из-за того, что парень, занимавшийся разработкой CraftBukkit'а заявил, что его код низя использовать.
 
Да, всё будет хорошо. Моджанг ещё пару лет назад купил Bukkit и они сами будут заниматься разработкой CraftBukkit'а. А новость была криком души EvilSeph'а. Или попыткой насрать моджангам, не знаю.
Также сейчас у них лицензиопроблемы из-за того, что парень, занимавшийся разработкой CraftBukkit'а заявил, что его код низя использовать.
Ну да, тот Wolfe. Он натравил агента DMCA и заставил баккит вайпнуть все их repo, на dl.bukkit.org все пусто.
 
Ну да, тот Wolfe. Он натравил агента DMCA и заставил баккит вайпнуть все их repo, на dl.bukkit.org все пусто.
Но на гитхабе всё лежит, лол.
Также мд5 сказал, что хyйца даст пососать с такими предъявами. А все нормальные люди давно сидят на нём. Не вижу смысла паниковать.
 
Назад
Верх