Вверх ↑
Этот топик читают: Гость
Ответов: 4557
#1: 2015-01-09 21:14:34 ЛС | профиль | цитата
Как известно,
при необходимых условиях превращается в камень.

  Игрокам, интересующимся разработкой интересно узнать как сделать замену блоков.
Сама замена происходит на определенный тик. Пример разберем на самом же уране, но замена блока будет намного быстрее (подобно
).

Создаем класс BlockNuclearOre:
package net.minecraft.src;

import java.util.Random;

public class BlockNuclearOre extends Block
{

protected BlockNuclearOre(int par1)
{
super(par1, Material.rock);
this.setTickRandomly(true);
this.setCreativeTab(CreativeTabs.tabBlock);
}

public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
if (!par1World.isRemote)
{
if (par1World.getBlockLightValue(par2, par3 + 1, par4) ‹ 4 && Block.lightOpacity[par1World.getBlockId(par2, par3 + 1, par4)] › 2)
{
par1World.setBlock(par2, par3, par4, Block.nuclearOre.blockID);
}
else if (par1World.getBlockLightValue(par2, par3 + 1, par4) ›= 9)
{
for (int var6 = 0; var6 ‹ 4; ++var6)
{
int var7 = par2 + par5Random.nextInt(3) - 1;
int var8 = par3 + par5Random.nextInt(5) - 3;
int var9 = par4 + par5Random.nextInt(3) - 1;
int var10 = par1World.getBlockId(var7, var8 + 1, var9);

if (par1World.getBlockId(var7, var8, var9) == Block.nuclearOre.blockID && par1World.getBlockLightValue(var7, var8 + 1, var9) ›= 4 && Block.lightOpacity[var10] ‹= 2)
{
par1World.setBlock(var7, var8, var9, Block.stone.blockID);
}
}
}
}
}

}


Именно public void updateTick() отвечает за смену блока. на определенный тик уран меняется на камень.
И теперь Block.java:
public static final BlockNuclearOre nuclear = (BlockNuclearOre)(new BlockNuclearOre(132)).setHardness(0.6F).setStepSound(soundGrassFootstep).setUnlocalizedName("тuclearOre");

Теперь, установив уран, он через некоторое время превратится в камень.

Где не прав - поправьте
карма: 6
6
Голосовали:OTBETCTBEHHblN, NIKIT00S, Qubique, legionnaire, 7200OneLove, Hinata_Hyuga
Ответов: 600
#2: 2015-01-09 21:19:08 ЛС | профиль | цитата
Flanagun писал(а):

Как известно, при необходимых условиях превращается в камень. Игрокам, интересующимся разработкой интересно узнать как сделать замену блоков.Сама замена происходит на определенный тик. Пример разберем на самом же уране, но намена блока будет намного быстрее (подобно ).Создаем класс BlockNuclearOre:package net.minecraft.src;

import java.util.Random;

public class BlockNuclearOre extends Block
{

protected BlockNuclearOre(int par1)
{
super(par1, Material.rock);
this.setTickRandomly(true);
this.setCreativeTab(CreativeTabs.tabBlock);
}

public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
if (!par1World.isRemote)
{
if (par1World.getBlockLightValue(par2, par3 + 1, par4) ‹ 4 && Block.lightOpacity[par1World.getBlockId(par2, par3 + 1, par4)] › 2)
{
par1World.setBlock(par2, par3, par4, Block.nuclearOre.blockID);
}
else if (par1World.getBlockLightValue(par2, par3 + 1, par4) ›= 9)
{
for (int var6 = 0; var6 ‹ 4; ++var6)
{
int var7 = par2 + par5Random.nextInt(3) - 1;
int var8 = par3 + par5Random.nextInt(5) - 3;
int var9 = par4 + par5Random.nextInt(3) - 1;
int var10 = par1World.getBlockId(var7, var8 + 1, var9);

if (par1World.getBlockId(var7, var8, var9) == Block.nuclearOre.blockID && par1World.getBlockLightValue(var7, var8 + 1, var9) ›= 4 && Block.lightOpacity[var10] ‹= 2)
{
par1World.setBlock(var7, var8, var9, Block.stone.blockID);
}
}
}
}
}

}
Именно public void updateTick() отвечает за смену блока. на определенный тик уран меняется на камень.И теперь Block.java:public static final BlockNuclearOre nuclear = (BlockNuclearOre)(new BlockNuclearOre(132)).setHardness(0.6F).setStepSound(soundGrassFootstep).setUnlocalizedName("тuclearOre");
Теперь, установив уран, он через некоторое время превратится в камень.Где не прав - поправьте Редактировалось 1 раз(а), последний 2015-01-09 21:14:38
Ошибка в тексте.
карма: 22
ⓂⒸⒼⓁ
1
Голосовали:Flanagun
Ответов: 16
#3: 2015-01-09 22:46:37 ЛС | профиль | цитата
Против
карма: 2
-1
Голосовали:Flanagun
Ответов: 1203
...
Холоп
#4: 2015-01-09 22:53:02 ЛС | профиль | цитата
Fademan, дурной? Это не предложение.
карма: -175
0
Ответов: 292
FoxeisheN
лидер
#5: 2015-01-09 23:03:50 ЛС | профиль | цитата
фланя не огорчай =/
Что-то реально бред
карма: 42
0
Ответов: 4557
#6: 2015-01-09 23:10:19 ЛС | профиль | цитата
MrTailsFox писал(а):
фланя не огорчай =/
Что-то реально бред

Обоснуй.
И что значит "Не для игроков"?
карма: 6
0
Ответов: 1272
NeverClan
[W] Constructors
#7: 2015-01-09 23:20:50 ЛС | профиль | цитата
Полезно, спасибо.
карма: 0
0
Ответов: 599
#8: 2015-01-20 15:08:54 ЛС | профиль | цитата
Откуда ты берешь эти коды?
карма: -18
0
Ответов: 2575
Noir Villar
Гипнос
#9: 2015-01-20 15:11:49 ЛС | профиль | цитата
Спасибо за Полезную информация.
карма: -87
0
Ответов: 4557
#10: 2015-01-20 15:18:21 ЛС | профиль | цитата
Tursikas писал(а):
Откуда ты берешь эти коды?

Из игры
карма: 6
0
Ответов: 279
WIKINGI
Вальхалла
#11: 2015-01-20 15:27:39 ЛС | профиль | цитата
Очень полезная информация, спасибо)
карма: 6
0
Ответов: 576
#12: 2015-01-24 21:30:15 ЛС | профиль | цитата
Cпасибо за Полезную информацию.
карма: -67
GG WP
0
Ответов: 1233
#13: 2015-01-25 15:48:56 ЛС | профиль | цитата
спасибо.
карма: -71
0
Ответов: 757
CORPORATION-Z
Добытчик
#14: 2015-01-25 15:56:47 ЛС | профиль | цитата
Flanagun каждый раз удивляет чем-нибудь
карма: 4
С B/B кодами не дружу!
0
Sakura_Black (сообщение скрыто ввиду неодобрения читателями) показать
-4
Голосовали:Flanagun, Amtrax, KaNoPlaY, DIVIner
Ответов: 4557
#16: 2015-02-01 17:30:04 ЛС | профиль | цитата
Кстати, стоит отметить, что тут идет проверка на наличие рядом блоков: если рядом есть камень, то уран через некоторое время превратиться в камень.
карма: 6
0
Ответов: 112
#17: 2015-02-02 13:35:26 ЛС | профиль | цитата
Flanagun писал(а):
Кстати, стоит отметить, что тут идет проверка на наличие рядом блоков: если рядом есть камень, то уран через некоторое время превратиться в камень.

А если стоит рядом к примеру

Что тогда?
карма: 0
Регистрация: 2012-03-07 16:20:09
0
Ответов: 4557
#18: 2015-02-02 14:37:48 ЛС | профиль | цитата
vovasuper1, ничего.

Вообще нужно менять камень на воздух.
карма: 6
0
Ответов: 1355
Miami
Technologist
#19: 2015-02-02 15:24:56 ЛС | профиль | цитата
Fademan писал(а):
Против

ахаха, убило
а так, спасибо, полезно
Flanagun, тебе пора с таким багажом знаний и с такой активной помощью податься в модеры...
карма: 0
[BEM] Best Electro Music *кликабельно
0
Ответов: 4557
#20: 2015-02-02 15:33:50 ЛС | профиль | цитата
EH0T писал(а):
податься в модеры...

Да не за чем мне модераторы
карма: 6
0
Ответов: 37
ArAcHnID
лидер
#21: 2015-05-20 09:41:01 ЛС | профиль | цитата
Flanagun писал(а):
vovasuper1, ничего.

Вообще нужно менять камень на воздух.

Зная поведение песка, разве блок над ним не зависнет в воздухе? Тесть блок допустим как был так и остался (он стал блоком воздуха)
карма: 12
0
Ответов: 173
#22: 2015-05-20 10:23:45 ЛС | профиль | цитата
Amtrax, Это верно!
карма: 49
Гнев - начало безумия . Гиппократ .
-1
Голосовали:criminal2037
Ответов: 879
Black Dragons
Стальной Алхимик
#23: 2015-05-20 13:09:49 ЛС | профиль | цитата
Молодец. Кому то будет полезно.
карма: 39
---А в рот вам не плюнуть жеванной морковкой?---
0
Ответов: 13
#24: 2015-05-24 10:09:23 ЛС | профиль | цитата
Flanagun писал(а):

Красава, ты мне нравишься.
карма: 0
0
Ответов: 23
Industry
лидер
#25: 2015-05-25 01:27:42 ЛС | профиль | цитата
Покажи код который дает радиацию от этого блока.
карма: -1
0
25
Сообщение
...