- 1,185
- 2
Есть класс который ставит рандомный блок.
Хотя текстуры наименованы правильно, в эклипсе всё работает.
Это как-то может быть связанно с большим количеством текстур в майне? (3к)
[merge_posts_bbcode]Добавлено: 08.01.2016 16:01:44[/merge_posts_bbcode]
И да, я знаю что лохонулся с amount, хотя можно было icons.size();
[merge_posts_bbcode]Добавлено: 08.01.2016 16:05:35[/merge_posts_bbcode]
И размеры 16х16, всё как полагается.
[merge_posts_bbcode]Добавлено: 08.01.2016 16:06:22[/merge_posts_bbcode]
А самое интересное, что таких текстур как на скрине (Синих, зелёных, белых, серых) вообще нету.
Код:
package com.svk.addItems.blocks;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import com.svk.addItems.CommonProxy;
import com.svk.addItems.ModInfo;
import com.svk.addItems.BaseClassMod;
import com.svk.addItems.RegisterSpecialBlock;
import com.svk.addItems.client.ClientProxy;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class RandomBlock extends Block
{
private ArrayList<IIcon> icons = new ArrayList<IIcon>();
public int amount = 0;
public int num = 0;
public int base = 0;
public String name = null;
public RandomBlock(Material par1Material, String name, int amount, int base)
{
super(par1Material);
this.setBlockName(name);
this.setCreativeTab(CommonProxy.tabShablons);
this.amount = amount;
this.name = name;
this.base = base;
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg)
{
IIcon blockIcon = reg.registerIcon(ModInfo.MODID+":" + "random/Base" + name);
this.blockIcon = blockIcon;
for(int i = 1; i <= amount; i++)
{
if(i < 10)
{
icons.add(reg.registerIcon(ModInfo.MODID+":" + "random/" + name + "0" + i));
}
else
{
icons.add(reg.registerIcon(ModInfo.MODID+":" + "random/" + name + i));
}
}
for(int i = 1; i <= base; i++)
{
icons.add(blockIcon);
amount++;
}
}
@Override
public IIcon getIcon(IBlockAccess acces, int x, int y, int z, int side)
{
return icons.get(new Random(x*y*z + 1).nextInt(amount));
}
}
Хотя текстуры наименованы правильно, в эклипсе всё работает.
Это как-то может быть связанно с большим количеством текстур в майне? (3к)
[merge_posts_bbcode]Добавлено: 08.01.2016 16:01:44[/merge_posts_bbcode]
И да, я знаю что лохонулся с amount, хотя можно было icons.size();
[merge_posts_bbcode]Добавлено: 08.01.2016 16:05:35[/merge_posts_bbcode]
И размеры 16х16, всё как полагается.
[merge_posts_bbcode]Добавлено: 08.01.2016 16:06:22[/merge_posts_bbcode]
А самое интересное, что таких текстур как на скрине (Синих, зелёных, белых, серых) вообще нету.