1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Совет Удалить свойства чанк-лоадера

Тема в разделе "Управление сервером Bukkit", создана пользователем oleg57zls, 8 ноя 2015.

  1. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Мод Witchery. Полка для кукол грузит чанки, нужно прогрузку чанков с нее удалить. Что нужно удалить из кода, чтобы удалить прогрузку чанков, без каких либо крашей. Вот собственно сам код:

    Код:
    package com.emoniph.witchery.blocks;
    
    import com.emoniph.witchery.Witchery;
    import com.emoniph.witchery.blocks.BlockBaseContainer;
    import com.emoniph.witchery.blocks.TileEntityBase;
    import com.emoniph.witchery.util.BlockUtil;
    import com.emoniph.witchery.util.Log;
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockPistonBase;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.item.EntityItem;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.inventory.Container;
    import net.minecraft.inventory.IInventory;
    import net.minecraft.item.ItemStack;
    import net.minecraft.nbt.NBTTagCompound;
    import net.minecraft.nbt.NBTTagList;
    import net.minecraft.network.NetworkManager;
    import net.minecraft.network.Packet;
    import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
    import net.minecraft.world.ChunkCoordIntPair;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;
    import net.minecraftforge.common.ForgeChunkManager;
    import net.minecraftforge.common.ForgeChunkManager.Ticket;
    import net.minecraftforge.common.ForgeChunkManager.Type;
    
    public class BlockPoppetShelf extends BlockBaseContainer {
       public BlockPoppetShelf() {
          super(Material.rock, BlockPoppetShelf.TileEntityPoppetShelf.class);
          this.setHardness(2.5F);
          this.setStepSound(Block.soundTypeStone);
          this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.51F, 1.0F);
       }
    
       public void onBlockAdded(World world, int posX, int posY, int posZ) {
          super.onBlockAdded(world, posX, posY, posZ);
          BlockUtil.setBlockDefaultDirection(world, posX, posY, posZ);
       }
    
       public boolean isOpaqueCube() {
          return false;
       }
    
       public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) {
          return false;
       }
    
       public boolean onBlockActivated(World world, int posX, int posY, int posZ, EntityPlayer player, int par6, float par7, float par8, float par9) {
          if(world.isRemote) {
             return true;
          } else {
             BlockPoppetShelf.TileEntityPoppetShelf tileEntity = (BlockPoppetShelf.TileEntityPoppetShelf)world.getTileEntity(posX, posY, posZ);
             if(tileEntity != null) {
                player.displayGUIChest(tileEntity);
             }
    
             return true;
          }
       }
    
       public void onNeighborBlockChange(World world, int posX, int posY, int posZ, Block par5) {
          boolean flag = world.isBlockIndirectlyGettingPowered(posX, posY, posZ) || world.isBlockIndirectlyGettingPowered(posX, posY + 1, posZ);
          int i1 = world.getBlockMetadata(posX, posY, posZ);
          boolean flag1 = (i1 & 8) != 0;
          if(flag && !flag1) {
             world.scheduleBlockUpdate(posX, posY, posZ, this, this.tickRate(world));
             world.setBlockMetadataWithNotify(posX, posY, posZ, i1 | 8, 4);
          } else if(!flag && flag1) {
             world.setBlockMetadataWithNotify(posX, posY, posZ, i1 & -9, 4);
          }
    
       }
    
       public void onBlockPlacedBy(World world, int posX, int posY, int posZ, EntityLivingBase entityLiving, ItemStack itemstack) {
          int l = BlockPistonBase.determineOrientation(world, posX, posY, posZ, entityLiving);
          world.setBlockMetadataWithNotify(posX, posY, posZ, l, 2);
       }
    
       public void breakBlock(World world, int posX, int posY, int posZ, Block par5, int par6) {
          BlockPoppetShelf.TileEntityPoppetShelf tileEntity = (BlockPoppetShelf.TileEntityPoppetShelf)world.getTileEntity(posX, posY, posZ);
          if(tileEntity != null) {
             for(int j1 = 0; j1 < tileEntity.getSizeInventory(); ++j1) {
                ItemStack itemstack = tileEntity.getStackInSlot(j1);
                if(itemstack != null) {
                   float f = world.rand.nextFloat() * 0.8F + 0.1F;
                   float f1 = world.rand.nextFloat() * 0.8F + 0.1F;
                   float f2 = world.rand.nextFloat() * 0.8F + 0.1F;
    
                   while(itemstack.stackSize > 0) {
                      int k1 = world.rand.nextInt(21) + 10;
                      if(k1 > itemstack.stackSize) {
                         k1 = itemstack.stackSize;
                      }
    
                      itemstack.stackSize -= k1;
                      EntityItem entityitem = new EntityItem(world, (double)((float)posX + f), (double)((float)posY + f1), (double)((float)posZ + f2), new ItemStack(itemstack.getItem(), k1, itemstack.getItemDamage()));
                      if(itemstack.hasTagCompound()) {
                         entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
                      }
    
                      float f3 = 0.05F;
                      entityitem.motionX = (double)((float)world.rand.nextGaussian() * 0.05F);
                      entityitem.motionY = (double)((float)world.rand.nextGaussian() * 0.05F + 0.2F);
                      entityitem.motionZ = (double)((float)world.rand.nextGaussian() * 0.05F);
                      world.spawnEntityInWorld(entityitem);
                   }
                }
             }
    
             world.func_147453_f(posX, posY, posZ, par5);
          }
    
          super.breakBlock(world, posX, posY, posZ, par5, par6);
       }
    
       public boolean hasComparatorInputOverride() {
          return true;
       }
    
       public int getComparatorInputOverride(World world, int posX, int posY, int posZ, int par5) {
          return Container.calcRedstoneFromInventory((IInventory)world.getTileEntity(posX, posY, posZ));
       }
    
       public static class TileEntityPoppetShelf extends TileEntityBase implements IInventory {
          private ItemStack[] contents = new ItemStack[9];
          protected String customName;
          private Ticket chunkTicket;
    
          protected void initiate() {
             super.initiate();
             if(!super.worldObj.isRemote && this.chunkTicket == null) {
                this.chunkTicket = ForgeChunkManager.requestTicket(Witchery.instance, super.worldObj, Type.NORMAL);
                if(this.chunkTicket != null) {
                   this.chunkTicket.getModData().setInteger("poppetX", super.xCoord);
                   this.chunkTicket.getModData().setInteger("poppetY", super.yCoord);
                   this.chunkTicket.getModData().setInteger("poppetZ", super.zCoord);
                   this.forceChunkLoading(this.chunkTicket);
                } else {
                   Log.instance().warning(String.format("The poppet shelf at %d, %d, %d failed to register a chunk loader.", new Object[]{Integer.valueOf(super.xCoord), Integer.valueOf(super.yCoord), Integer.valueOf(super.zCoord)}));
                }
             }
    
          }
    
          public void forceChunkLoading(Ticket ticket) {
             if(this.chunkTicket == null) {
                this.chunkTicket = ticket;
             }
    
             try {
                ForgeChunkManager.forceChunk(this.chunkTicket, new ChunkCoordIntPair(super.xCoord >> 4, super.zCoord >> 4));
             } catch (Exception var3) {
                Log.instance().warning(var3, String.format("Unexpected exception occurred forcing chunk loading for popet shelf at %d, %d, %d.", new Object[]{Integer.valueOf(super.xCoord), Integer.valueOf(super.yCoord), Integer.valueOf(super.zCoord)}));
             }
    
          }
    
          public void invalidate() {
             if(!super.worldObj.isRemote) {
                if(this.chunkTicket != null) {
                   ForgeChunkManager.releaseTicket(this.chunkTicket);
                } else {
                   Log.instance().warning(String.format("Chunk loader ticket is null for poppet shelf at %d, %d, %d.", new Object[]{Integer.valueOf(super.xCoord), Integer.valueOf(super.yCoord), Integer.valueOf(super.zCoord)}));
                }
             }
    
             super.invalidate();
          }
    
          public int getSizeInventory() {
             return 9;
          }
    
          public ItemStack getStackInSlot(int slot) {
             return this.contents[slot];
          }
    
          public ItemStack decrStackSize(int slot, int size) {
             if(this.contents[slot] != null) {
                ItemStack itemstack;
                if(this.contents[slot].stackSize <= size) {
                   itemstack = this.contents[slot];
                   this.contents[slot] = null;
                   this.markDirty();
                   return itemstack;
                } else {
                   itemstack = this.contents[slot].splitStack(size);
                   if(this.contents[slot].stackSize == 0) {
                      this.contents[slot] = null;
                   }
    
                   this.markDirty();
                   return itemstack;
                }
             } else {
                return null;
             }
          }
    
          public ItemStack getStackInSlotOnClosing(int slot) {
             if(this.contents[slot] != null) {
                ItemStack itemstack = this.contents[slot];
                this.contents[slot] = null;
                return itemstack;
             } else {
                return null;
             }
          }
    
          public int getRandomStackFromInventory() {
             int i = -1;
             int j = 1;
    
             for(int k = 0; k < this.contents.length; ++k) {
                if(this.contents[k] != null && super.worldObj.rand.nextInt(j++) == 0) {
                   i = k;
                }
             }
    
             return i;
          }
    
          public void setInventorySlotContents(int slot, ItemStack itemstack) {
             this.contents[slot] = itemstack;
             if(itemstack != null && itemstack.stackSize > this.getInventoryStackLimit()) {
                itemstack.stackSize = this.getInventoryStackLimit();
             }
    
             this.markDirty();
          }
    
          public int addItem(ItemStack itemstack) {
             for(int i = 0; i < this.contents.length; ++i) {
                if(this.contents[i] == null) {
                   this.setInventorySlotContents(i, itemstack);
                   return i;
                }
             }
    
             return -1;
          }
    
          public void markDirty() {
             super.worldObj.markBlockForUpdate(super.xCoord, super.yCoord, super.zCoord);
             super.markDirty();
          }
    
          public String getInventoryName() {
             return "container.witchery:poppetshelf";
          }
    
          public Packet getDescriptionPacket() {
             NBTTagCompound nbtTag = new NBTTagCompound();
             this.writeToNBT(nbtTag);
             return new S35PacketUpdateTileEntity(super.xCoord, super.yCoord, super.zCoord, 1, nbtTag);
          }
    
          public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) {
             super.onDataPacket(net, packet);
             this.readFromNBT(packet.func_148857_g());
             super.worldObj.func_147479_m(super.xCoord, super.yCoord, super.zCoord);
          }
    
          public boolean hasCustomInventoryName() {
             return false;
          }
    
          public void readFromNBT(NBTTagCompound nbtTag) {
             super.readFromNBT(nbtTag);
             NBTTagList nbttaglist = nbtTag.getTagList("Items", 10);
             this.contents = new ItemStack[this.getSizeInventory()];
    
             for(int i = 0; i < nbttaglist.tagCount(); ++i) {
                NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
                int j = nbttagcompound1.getByte("Slot") & 255;
                if(j >= 0 && j < this.contents.length) {
                   this.contents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                }
             }
    
             if(nbtTag.hasKey("CustomName")) {
                this.customName = nbtTag.getString("CustomName");
             }
    
          }
    
          public void writeToNBT(NBTTagCompound nbtTag) {
             super.writeToNBT(nbtTag);
             NBTTagList nbttaglist = new NBTTagList();
    
             for(int i = 0; i < this.contents.length; ++i) {
                if(this.contents[i] != null) {
                   NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                   nbttagcompound1.setByte("Slot", (byte)i);
                   this.contents[i].writeToNBT(nbttagcompound1);
                   nbttaglist.appendTag(nbttagcompound1);
                }
             }
    
             nbtTag.setTag("Items", nbttaglist);
             if(this.hasCustomInventoryName()) {
                nbtTag.setString("CustomName", this.customName);
             }
    
          }
    
          public int getInventoryStackLimit() {
             return 64;
          }
    
          public boolean isUseableByPlayer(EntityPlayer player) {
             return super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this?false:player.getDistanceSq((double)super.xCoord + 0.5D, (double)super.yCoord + 0.5D, (double)super.zCoord + 0.5D) <= 64.0D;
          }
    
          public void openInventory() {
          }
    
          public void closeInventory() {
          }
    
          public boolean isItemValidForSlot(int slot, ItemStack itemstack) {
             return itemstack != null && itemstack.getItem() == Witchery.Items.POPPET;
          }
       }
    }
    Вот сама часть кода, которая погружает чанки. Но если удалить всю эту часть, то мод просто крашится при запуске сервера.

    Код:
          private Ticket chunkTicket;
    
          protected void initiate() {
             super.initiate();
             if(!super.worldObj.isRemote && this.chunkTicket == null) {
                this.chunkTicket = ForgeChunkManager.requestTicket(Witchery.instance, super.worldObj, Type.NORMAL);
                if(this.chunkTicket != null) {
                   this.chunkTicket.getModData().setInteger("poppetX", super.xCoord);
                   this.chunkTicket.getModData().setInteger("poppetY", super.yCoord);
                   this.chunkTicket.getModData().setInteger("poppetZ", super.zCoord);
                   this.forceChunkLoading(this.chunkTicket);
                } else {
                   Log.instance().warning(String.format("The poppet shelf at %d, %d, %d failed to register a chunk loader.", new Object[]{Integer.valueOf(super.xCoord), Integer.valueOf(super.yCoord), Integer.valueOf(super.zCoord)}));
                }
             }
    
          }
    
          public void forceChunkLoading(Ticket ticket) {
             if(this.chunkTicket == null) {
                this.chunkTicket = ticket;
             }
    
             try {
                ForgeChunkManager.forceChunk(this.chunkTicket, new ChunkCoordIntPair(super.xCoord >> 4, super.zCoord >> 4));
             } catch (Exception var3) {
                Log.instance().warning(var3, String.format("Unexpected exception occurred forcing chunk loading for popet shelf at %d, %d, %d.", new Object[]{Integer.valueOf(super.xCoord), Integer.valueOf(super.yCoord), Integer.valueOf(super.zCoord)}));
             }
    
          }
    
          public void invalidate() {
             if(!super.worldObj.isRemote) {
                if(this.chunkTicket != null) {
                   ForgeChunkManager.releaseTicket(this.chunkTicket);
                } else {
                   Log.instance().warning(String.format("Chunk loader ticket is null for poppet shelf at %d, %d, %d.", new Object[]{Integer.valueOf(super.xCoord), Integer.valueOf(super.yCoord), Integer.valueOf(super.zCoord)}));
                }
             }
    
             super.invalidate();
          }
     
  2. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Ошибка какая?
     
  3. Firkys

    Firkys Активный участник Пользователь

    Баллы:
    88
    Skype:
    Firkys
    Имя в Minecraft:
    Firkys
    Просто закомментируй:
    Код:
    this.forceChunkLoading(this.chunkTicket);
    Либо выпиливай методы более аккуратнее, ибо вызываются они в других местах.
     
  4. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Тогда уж можно внутренности этого метода закомментировать.
     
  5. Firkys

    Firkys Активный участник Пользователь

    Баллы:
    88
    Skype:
    Firkys
    Имя в Minecraft:
    Firkys
    Пффф. Правильней вообще убрать зависимость вызова этих методов в других местах. А не просто комментировать код. Эту тему можно продолжать вечно, о правильности выпиливания, но какая суть в этом, если автор даже строку не может найти.
     
  6. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Код:
    Description: Exception in server tick loop
    
    cpw.mods.fml.common.LoaderException: java.lang.NoSuchFieldError: rock
        at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)
        at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:559)
        at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:88)
        at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:319)
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:176)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:631)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.NoSuchFieldError: rock
        at com.emoniph.witchery.blocks.BlockPoppetShelf.<init>(BlockPoppetShelf.java:31)
        at com.emoniph.witchery.WitcheryBlocks.<init>(WitcheryBlocks.java:259)
        at com.emoniph.witchery.Witchery.preInit(Witchery.java:167)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
        at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
        at com.google.common.eventbus.EventBus.post(EventBus.java:275)
        at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
        at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
        at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
        at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
        at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
        at com.google.common.eventbus.EventBus.post(EventBus.java:275)
        at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
        at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
        ... 5 more
     
  7. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Что этот блок делает-то?
     
  8. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    "Полка для кукол" я писал выше. Как называется, то и делает. Только вот, то что ей стали чанки грузить почти все мне не нравится.
     
  9. Firkys

    Firkys Активный участник Пользователь

    Баллы:
    88
    Skype:
    Firkys
    Имя в Minecraft:
    Firkys
    Эм, ошибки для слабаков? Вчитайся внимательно и подумай.

    Это говно я ещё давно фиксил и говорю 100% рабочий вариант, дело уже в твоих руках и не в желании читать краш.
     
  10. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Я так-же в первый раз и сделал, удалив весь код отвечающий за прогрузку чанков. Когда ставится блок, происходит краш.

    Код:
    java.lang.NoSuchMethodError: com.emoniph.witchery.blocks.BlockPoppetShelf$TileEntityPoppetShelf.forceChunkLoading(Lnet/minecraftforge/common/ForgeChunkManager$Ticket;)V
        at com.emoniph.witchery.Witchery$ChunkloadCallback.ticketsLoaded(Witchery.java:303)
        at net.minecraftforge.common.ForgeChunkManager.loadWorld(ForgeChunkManager.java:523)
        at net.minecraftforge.common.ForgeInternalHandler.onDimensionLoad(ForgeInternalHandler.java:64)
        at cpw.mods.fml.common.eventhandler.ASMEventHandler_7_ForgeInternalHandler_onDimensionLoad_Load.invoke(.dynamic)
        at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
        at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138)
        at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:442)
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:336)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:631)
        at java.lang.Thread.run(Thread.java:745)
    Видимо где-то еще надо убирать какие-то методы, видимо тут at com.emoniph.witchery.Witchery$ChunkloadCallback.ticketsLoaded(Witchery.java:303)
     
  11. Firkys

    Firkys Активный участник Пользователь

    Баллы:
    88
    Skype:
    Firkys
    Имя в Minecraft:
    Firkys
    http://rghost.ru/6zvKSY5Lr проверька...
     
  12. Dolikan

    Dolikan Ньюби Пользователь

    Баллы:
    1
    Попробуй в папке мира удалить файл forcedchunks.dat
     
  13. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    В Witchery.java убрал строки
    ForgeChunkManager.setForcedChunkLoadingCallback(instance, new Witchery.ChunkloadCallback());
    И сам метод ChunkloadCallback.
    Запустилось.
    На нее и подумал, то-же на всякий удалил, вместе с методами.
     
  14. Левый

    Левый Старожил Пользователь

    Баллы:
    173
    А погрузить карту с помощью worldborder не судьба?
     
  15. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    -.-
    Ты к чему это?
     
  16. Heiwen34

    Heiwen34 Старожил Пользователь Заблокирован

    Баллы:
    123
    Skype:
    HentaiZ
    Имя в Minecraft:
    HentaiZ
    Он не понял.
    Левый, тут дело такое, эта хня грузит, может и я не правильно понял, сразу весь сервер, ВЕСЬ, прогружая чанки и делая их АКТИВНЫМИ.
     
  17. Левый

    Левый Старожил Пользователь

    Баллы:
    173
    А это полка сильно важная? Запретить её использование на сервере не вариант?
    Ну прогрузить всю карту. Чтоб игрокам с помощью этой полки нечего было прогружать.
     
  18. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    ._.
    Она грузит ЧАНКИ а не КАРТУ! Зачем мне запрещать ее, если я стараюсь максимально отказатся от запретов?
    Проблема уже исправлена, зависимости были в Witchery.java, как и писалось выше и они убраны.
     
  19. Левый

    Левый Старожил Пользователь

    Баллы:
    173
    А чанки это не часть карты?
     
  20. Автор темы
    oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    А мозг, это не часть твоего организма? Ты хоть знаешь, что такое активные чанки? Когда они активные? Что когда они активные, в них грузится и работает все что в них стоит?
     

Поделиться этой страницей