Метод для считывания нажатия по блоку RightClick

Всем привет. Задался таким вопросом как сделать блок с изменяемой моделью при нажатии на него- тип сундука открывающегося. Думаю сделать через метадату но вот проблема в том что я не знаю метода для распознования клика по блоку.Рылся в сундуке и чет с моим убогим английским найти не могу!Подскажите плиз кто знает
 
Определяется сколько людей в него залезли, чтобы посмотреть, больше нуля, крышка открывается, равно нулю крышка закрывается.
 
timaxa007 написал(а):
Определяется сколько людей в него залезли, чтобы посмотреть, больше нуля, крышка открывается, равно нулю крышка закрывается.
А каким методом можно считать ето?
 
net.minecraft.tileentity.TileEntityChest;
Код:
public void openInventory() {
 if (this.numPlayersUsing < 0) {
this.numPlayersUsing = 0;
}

++this.numPlayersUsing;
this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.numPlayersUsing);
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType());
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType());
}

public void closeInventory() {
if (this.getBlockType() instanceof BlockChest) {
--this.numPlayersUsing;
this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.numPlayersUsing);
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType());
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType());
}
}
 
Извини за глупый вопросно это как я понял нужно вставить в ентити блока а обращаться как?
 
Точно не знаю, но вроде как через контейнер:
net.minecraft.inventory.ContainerChest;
Код:
public ContainerChest(IInventory p_i1806_1_, IInventory p_i1806_2_) {
this.lowerChestInventory = p_i1806_2_;
this.numRows = p_i1806_2_.getSizeInventory() / 9;
p_i1806_2_.openInventory();//Вот это
И
Код:
public void onContainerClosed(EntityPlayer p_75134_1_) {
super.onContainerClosed(p_75134_1_);
this.lowerChestInventory.closeInventory();//И вот это.
}
 
неееет мне нужно не открытие гуи инвенторя мне нужно чтобы тип крышка открывалась!
 
Я тебе условия для твоего рендера, а в рендере:
net.minecraft.client.renderer.tileentity.TileEntityChestRenderer;
Т.е. создаёшь числовую переменную.
Если сундук открывается, то идёт счёт на возрастание и останавливается, когда доходит до предела.
Если сундук закрывается, то идёт счёт на убывание и останавливается, когда доходит до нуля.
Используй типа "GL11.glRotatef((float)short1, 0.0F, 1.0F, 0.0F);", где "(float)short1" и будет переменой для движения, той или иной части модели.
 
И как ммне это все вставить в класс рендера- мне же нужно это считывать уже после рендера основной модели и как я метод в метод тогда засуну! Походу с моей тупостью нифига не выйдет!:'(
 
Назад
Сверху