Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Правда? в том то и дело он мне говорит нет такого метода в WorldAgravaine написал(а):Наведи на него, тебе скажет в чем проблема.
Ты издеваешься? Удалили эту строку, ничего не изменилось. Удалил все что связано с данной переменной. getBlockTileEntity все ровно не имеется в World. Давай поэтапно, сейчас проблемы в гуи хандлере. Не надо прыгать с класса на класс, это путает очень сильно.Agravaine написал(а):Ты прикалуешься?Код:worldObj = Minecraft.getMinecraft().theWorld; new TileEntitySlot().isUseableByPlayer(p_75145_1_);
про this.worldObj = Minecraft.getMinecraft().theWorld; вкурил и заменил на public void onContainerClosed(EntityPlayer p_75134_1_)Asd73 написал(а):Это тоже:
this.worldObj = Minecraft.getMinecraft().theWorld;
Это работает только на клиентской стороне, на стороне сервера даже не знаю что будет.
Лучше посмотри код в готовых несложных модах. Хотя бы в моем https://bitbucket.org/Shuleshkin/nedocomputers/src/
package spellflex.kuroi.rpg.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
public class GuiHandler implements IGuiHandler {
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
switch (ID) {
case 1:
return new GuiContainerMod(player);
default:
return null;
}
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
switch (ID) {
case 1:
return new GuiWindow(world, x, y, z, player);
default:
return null;
}
}
}
package spellflex.kuroi.rpg.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class GuiContainerMod extends Container {
public GuiContainerMod (EntityPlayer player){
for (int i = 0; i < 9; i++)
addSlotToContainer(new Slot(player.inventory, i, 8 + i * 18, 142));
for (int i = 0; i < 3; i++)
for (int j = 0; j < 9; j++)
addSlotToContainer(new Slot(player.inventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return true;
}
protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slot) {
return null;
}
}
package spellflex.kuroi.rpg.gui;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.common.FMLCommonHandler;
import spellflex.kuroi.rpg.Setings;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
public class GuiWindow extends GuiContainer
{
EntityPlayer entity = null;
int xSize=190;
int ySize=190;
public GuiWindow(World world, int i, int j, int k, EntityPlayer entity){
super(new GuiContainerMod((EntityPlayer)entity));
}
private static final ResourceLocation texture = new ResourceLocation(Setings.MODID + ":textures/gui/UpWeapons.png");
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.renderEngine.bindTexture(texture);
int k = (this.width - xSize) / 2;
int l = (this.height - ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, xSize, ySize);
}
protected void drawGuiContainerForegroundLayer(int par1, int par2){
}
public void initGui(){
super.initGui();
}
protected void actionPerformed(GuiButton button)
{
MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
World world = server.worldServers[0];
}
}
ахаха. ну да не как у тебя. но это пример из менуала. как ты и сказал. напиши мне свой раз тебе все не так, пока что ты только критекуешь и не помогаешь, от юда вывод ты не хера не шаришь и тупо набиваешь посты.Agravaine написал(а):Гениально.Код:new GuiContainerMod((EntityPlayer)entity));
Баран почитай о чем речь идет. У меня все открывается, но из слотов быстрого доступа не берутся предметы. Причем тут мир? имбицил. Если бы тут кто-то соображал из вас, то помог бы, а не оскорблял. Модератор ЛОХ.Dragon2488 написал(а):В гуи хендлере тебе дают мир
Да еще я забыл указать, что гуи открывается итемом, что бы все со своим тайл энтити проверкой на существование не гнобили. А по поводу Того, что происходит со слотами, я вот тоже не понимаю и поэтому обращаюсь на форум. Было бы все так просто, то решил бы сам (наверно)Asd73 написал(а):Вызов гуи на клиентской стороне должен привести к невозможности перемещения предметов во всем инвентаре.
Но раз теперь у тебя не работают только нижние слоты, то причина другая.
Я это понимаю, но сейчас у меня в гуи нет ничего кроме инвентаря, зачем мне передавать корды? Нет других слотов, да и хранить ничего мне не надо))Asd73 написал(а):Класс тайла никто не обсирал.
Тайл нужен для чего? Для сохранения инвентаря, естественно. Но как он будет что-то сохранять, если даже не знает свои координаты?
данный инвентарь не надо сохранять, кастом слоты будут на подобии крафтера, но не крафтер, тоесть слоты будут пустые и юзать их будет итем, нет блока для данного гуи.Asd73 написал(а):Когда блок кто-то ставит или блок прогружается, майнкрафт проверяет, есть ли у блока тайл, если есть, то вызывает у блока метод createNewTileEntity, полученный результат сохраняет где-то у себя и записывает в поля тайла данные (координаты, worldObj и т.д.). А потом майнкрафт когда нужно вызывает разные методы тайла. readFromNBT, writeToNBT при загрузке и сохранении, updateEntity каждый тик, и т.д.
А если ты просто создашь объект тайла, то никто все эти действия не будет выполнять, и как минимум, это приведет к тому, что инвентарь не сохраниться.
https://yadi.sk/d/JOZq_sC9cMXTJ Буду очень благодарен.Asd73 написал(а):Если хочешь, то скинь архив со всем твоим кодом, и я вечером возможно исправлю.
если ты почитаешь, то я общался нормально, до тех пор пока не начали оскорблять и тыкать в то, что ну ни как не сявязано с тем, что из слотов не берутся итемы. у меня открывется гуи с инвентарем игрока и двумя слотами, в которое игрок ложет оружее и свиток и оно обменивает ему мечь на другой, из свитка.Dragon2488 написал(а):А ты кто? Если у тебя инвентарь без блока и тайла, нафиг тебе вообще он нужен.\
А за оскорбление ты улетишь в бан, если еще раз такое увижу.
[merge_posts_bbcode]Добавлено: 29.10.2014 13:22:13[/merge_posts_bbcode]
Да ты оскорбил и не только меня, таким темпом тебе никто и помогать не будет. Нормально бы общался - сразу бы помогли.
Не знаю. Только недавно понял, что тогда могу от крафтера заюзать.Agravaine написал(а):Нахера ты тогда тайл делал?