- 916
- 22
- 333
Доброго дня, уважаемые форумчане.
Столкнулся с такой проблемой:
Мне нужно проверить режим игрока, который колдует в наковальне, однако AnvilUpdateEvent, не предусматривает такой возможности.
На данный момент мой код выглядит так:
Однако этот код ни в коем случае не должен выполняться если игрок в креативе. Я в тупике. Проверять на клиенте, слать пакет на сервер, и уже выполнять\не выполонять?... Это единственная идея, но она нагоняет пессимизм... Создавать пакетную систему, если в моде 2 класса, не самое лучшее решение, как мне кажется...
Столкнулся с такой проблемой:
Мне нужно проверить режим игрока, который колдует в наковальне, однако AnvilUpdateEvent, не предусматривает такой возможности.
На данный момент мой код выглядит так:
Java:
@SubscribeEvent
public static void onAnvilUpdate(AnvilUpdateEvent event) {
ItemStack output = event.getLeft().copy();
String name = output.getUnlocalizedName();
if (event.getCost() <= 0 && Concench.enchantments.containsKey(name)
&& event.getRight().getItem() == Items.ENCHANTED_BOOK) {
boolean flag = false;
if (output.hasTagCompound()) {
if (!output.getTagCompound().hasKey("concench")) {
NBTTagCompound nbt = output.getOrCreateSubCompound("concench");
genNBT(name, nbt);
flag = true;
}
} else {
output.setTagCompound(new NBTTagCompound());
NBTTagCompound nbt = output.getOrCreateSubCompound("concench");
genNBT(name, nbt);
flag = true;
}
if (flag) {
event.setCost(output.getRepairCost() + 2);
output.setRepairCost(output.getRepairCost() + 2);
event.setOutput(output);
}
}
}