- 44
- 0
Сделал предмет который по клику ПКМ должен перемещать в измерение в зависимости от выбранного режима. Всё работает прекрасно, кроме перемещения ИЗ энда(телепорт в сам энд работает прекрасно). Всё просто практически зависает, как будто меня нет как игрока, мобы телепортируются, блоки не ломаются, при попытке выдать предмет через @p, пишет что такого игрока нет, иногда в логи выдаёт надпись о перегрузке сервера и пинге 2000-2500 мс. Перерыл весь интернет в поиске решения, и видимо на форуме форджа такая проблема была только у одного человека, но его решение не помогло мне. В общем уже не знаю что делать, надеюсь вы мне поможете. Приложил кусок кода отвечающего за перемещение.
Java:
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
ItemStack itemstack = playerIn.getHeldItem(handIn);
if (!worldIn.isRemote) {
if (itemstack.hasTagCompound() && itemstack.getTagCompound().hasKey("Mode")) {
if (itemstack.getTagCompound().getFloat("Mode") == 0.3F && playerIn.world.provider.getDimension() != -1) {
playerIn.setPortal(playerIn.getPosition());
playerIn.changeDimension(-1);
} else if (itemstack.getTagCompound().getFloat("Mode") == 0.6F && playerIn.world.provider.getDimension() != 0) {
playerIn.setPortal(playerIn.getPosition());
playerIn.changeDimension(0);
} else if (itemstack.getTagCompound().getFloat("Mode") == 1 && playerIn.world.provider.getDimension() != 1) {
playerIn.setPortal(playerIn.getPosition());
playerIn.changeDimension(1);
}
}
}
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack);
}