- 917
- 22
- 332
Всем опять доброго дня и хорошего настроения!
Опять обращаюсь за помощью по поводу уже печально известного мода.
В общем не у одного блока текстура и модель не ставятся. Я опять же удалил все блоки(оставил только один со стандартной моделью) и стал выяснять причину - результат нулевой. По логике всё должно работать, но видимо майну понятие "логика" неизвестно. Ладно, хватит лирики.
Я не знаю точно где я допустил ошибку, поэтому выложу все классы в одном коде(их не так уж и много - я оставил лишь один блок).
Прошу меня извинить за такое обилие текста(я искренне надеюсь что всё дело в моей невнимательности).
Кстати насчёт ресурсов - все они расположены в пути: assets.underSur.и т. д. и т. п.Так что проблема скорей всего не здесь.
Если вопрос тупой посмотрите мою подпись.▼
Заранее всем спасибо)))
Опять обращаюсь за помощью по поводу уже печально известного мода.
В общем не у одного блока текстура и модель не ставятся. Я опять же удалил все блоки(оставил только один со стандартной моделью) и стал выяснять причину - результат нулевой. По логике всё должно работать, но видимо майну понятие "логика" неизвестно. Ладно, хватит лирики.
Я не знаю точно где я допустил ошибку, поэтому выложу все классы в одном коде(их не так уж и много - я оставил лишь один блок).
Код:
Гл. класс:
package ru.reglaps.underSur;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.Mod;
import ru.reglaps.underSur.proxy.CommonProxy;
@Mod(modid = InfoUnderSur.MODID, version = InfoUnderSur.VERSION, name = InfoUnderSur.MOD_NAME)
public class Main {
@Instance(InfoUnderSur.MODID)
public Main instance;
@SidedProxy(modId = InfoUnderSur.MODID, clientSide = InfoUnderSur.US_CLIENT_PROXY, serverSide = InfoUnderSur.US_COMMON_PROXY)
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent preEvent) {
this.proxy.preInit(preEvent);
}
@EventHandler
public void init(FMLInitializationEvent event) {
this.proxy.init(event);
}
@EventHandler
public void postInit(FMLPostInitializationEvent postEvent) {
this.proxy.postInit(postEvent);
}
}
Common прокси:
package ru.reglaps.underSur.proxy;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import ru.reglaps.underSur.blocks.RegistryBlocks;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent preEvent) {
RegistryBlocks.initBlocks();
}
public void init(FMLInitializationEvent event) {
}
public void postInit(FMLPostInitializationEvent postEvent) {
}
}
Client прокси
package ru.reglaps.underSur.proxy;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import ru.reglaps.underSur.render.USBlockRender;
public class ClientProxy extends CommonProxy{
public void preInit(FMLPreInitializationEvent preEvent) {
super.preInit(preEvent);
}
public void init(FMLInitializationEvent event) {
super.init(event);
USBlockRender.registerBlockRender();
}
public void postInit(FMLPostInitializationEvent postEvent) {
super.postInit(postEvent);
}
}
Класс в котором я регал блоки:
package ru.reglaps.underSur.blocks;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
public class RegistryBlocks {
public static Block CrackedStone;
public static void initBlocks() {
GameRegistry.registerBlock(CrackedStone = new CrackedStone(), "CrackedStone");
}
}
Класс рендера:
package ru.reglaps.underSur.render;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.Minecraft;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import ru.reglaps.underSur.blocks.RegistryBlocks;
import ru.reglaps.underSur.InfoUnderSur;
public final class USBlockRender {
public static void registerBlockRender() {
regBlock(RegistryBlocks.CrackedStone);
}
public static void regBlock(Block block) {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
.register(Item.getItemFromBlock(block), 0, new ModelResourceLocation
(InfoUnderSur.MODID + ":" + block.getUnlocalizedName().substring(5), "inventory"));
}
}
Ну и сам класс блока:
package ru.reglaps.underSur.blocks;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.block.material.Material;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.block.Block;
import ru.reglaps.underSur.InfoUnderSur;
public class CrackedStone extends Block{
private final String name = "CrackedStone";
public CrackedStone() {
super(Material.ROCK);
setUnlocalizedName(InfoUnderSur.MODID + ":" + name);
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
setResistance(2.5F);
setHardness(0.5F);
}
public String getName(){
return name;
}
public void onBlockClicked(World world, BlockPos pos, EntityPlayer entity){
if (!world.isRemote && world.rand.nextBoolean()) {
world.destroyBlock(pos, true);
}
}
}
Кстати насчёт ресурсов - все они расположены в пути: assets.underSur.и т. д. и т. п.Так что проблема скорей всего не здесь.
Если вопрос тупой посмотрите мою подпись.▼
Заранее всем спасибо)))