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.
@Override // Необходимо расширить интерфейс ITileEntityProvider
public TileEntity createNewTileEntity(World world, int meta) {
return new TileExample(); // Возвращаем наш тайл, чтобы игра понимала, какой необходимо создать
}
@Override // Действие при клике на блок
public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) {
TileEntity tile = world.getTileEntity(x, y, z); // Получаем TileEntity по заданным координатам
if (tile == null) // Проверяем, что не было возвращено null
return;
TileExample example = (TileExample) tile; //...
@Override // Необходимо расширить интерфейс ITileEntityProvider
public TileEntity createNewTileEntity(World world, int meta) {
return new TileExample(); // Возвращаем наш тайл, чтобы игра понимала, какой необходимо создать
}
@Override // Действие при клике на блок
public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) {
TileEntity tile = world.getTileEntity(x, y, z); // Получаем TileEntity по заданным координатам
if (tile == null) // Проверяем, что не было возвращено null
return;
TileExample example = (TileExample) tile; // Делаем каст от TileEntity к нашему TileEntityExample
example.nickname = player.getCommandSenderName(); // Устанавливаем значение переменной nickname на никнейм игрока
}
public class TileExample extends TileEntity {
public String nickname = ""; // Кешируем значение Nickname
@Override // Записываем данные в NBT. Делаем это только на сервере
public void writeToNBT(NBTTagCompound nbt) {
if (getWorldObj().isRemote)
return;
nbt.setString("LastClickNickname", nickname);
}
@Override // Считываем данные с NBT
public void readFromNBT(NBTTagCompound nbt) {
nickname = nbt.getString("LastClickNickname");
}
@Override // Записываем NBT в пакет, который следом полетит на клиент
public Packet getDescriptionPacket() {
NBTTagCompound nbt = new NBTTagCompound();
this.writeToNBT(nbt);
return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 0, nbt);
}
@Override // Делаем так, чтобы наш тайл не тикал, убираем линию нагрузку
public boolean canUpdate() {
return false;
}
@Override // Считываем данные с пакета, которые записали в методе getDescriptionPacket
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
this.readFromNBT(pkt.func_148857_g());
}
}
В точку hahahaИли ты тупо по преколу создаешь темы
Огромное спасибо за пример.Ну и вот пример того, что ты написал