- 2
- 1
- 0
Почему-то не хочет грузить текстуру. Текстура png расширением 32x32px
Ошибки связанной с текстуркой не выдает:
Вот файловая система и папки в assets:
Создание самого блока:
Регистрация:
Инициализация блоков:
Уже перепробовал все статьи с правками IDE. Вот мой build.gradle:
Использую Forge 14.23.5.2859
Прошу помогите
Ошибки связанной с текстуркой не выдает:
Вот файловая система и папки в assets:
item\test_block.json:
{
"parent": "hit:block/test_block"
}
block\test_block.json:
{
"parent": "block/cube_all",
"textures": {
"all": "hit:blocks/test_block"
}
}
blockstates\test_block.json:
{
"variants": {
"normal": { "model": "hit:test_block" }
}
}
TestBlock.java:
package ua.ArmyX.hit.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import sun.security.mscapi.CPublicKey;
import ua.ArmyX.hit.Main;
import ua.ArmyX.hit.init.InitBlocks;
import ua.ArmyX.hit.init.InitItems;
import ua.ArmyX.hit.utils.interfaces.IHasModel;
public class TestBlock extends Block implements IHasModel {
public TestBlock(String name, Material material) {
super(material);
this.setHardness(2.0F);//прочность
this.setResistance(15.0F);//взрывоустой
this.setHarvestLevel("axe", 2);
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setSoundType(SoundType.WOOD);
InitBlocks.BLOCKS.add(this);
InitItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
}
@Override
public void registerModels(){
Main.proxy.registerItemRenderer(Item.getItemFromBlock(this),0,"inventory");
}
}
RegisterHandler.java:
package ua.ArmyX.hit.utils.handlers;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import ua.ArmyX.hit.init.InitBlocks;
import ua.ArmyX.hit.init.InitItems;
import ua.ArmyX.hit.utils.interfaces.IHasModel;
@Mod.EventBusSubscriber
public class RegisterHandler {
@SubscribeEvent
public static void OnBlockRegister(RegistryEvent.Register<Block> event){
event.getRegistry().registerAll(InitBlocks.BLOCKS.toArray(new Block[0]));
}
@SubscribeEvent
public static void OnItemRegister(RegistryEvent.Register<Item> event){
event.getRegistry().registerAll(InitItems.ITEMS.toArray(new Item[0]));
}
@SubscribeEvent
public static void OnModelRegister(ModelRegistryEvent event){
for (Item item : InitItems.ITEMS){
if (item instanceof IHasModel){
((IHasModel)item).registerModels();
}
}
for(Block block : InitBlocks.BLOCKS){
if ( block instanceof IHasModel){
((IHasModel)block).registerModels();
}
}
}
}
InitBlocks.java:
package ua.ArmyX.hit.init;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import ua.ArmyX.hit.blocks.TestBlock;
import java.util.ArrayList;
import java.util.List;
public class InitBlocks {
public static final List<Block> BLOCKS = new ArrayList<Block>();
//Blocks
public static final Block TEST_BLOCK = new TestBlock("test_block", Material.WOOD);
}
build.gradle:
buildscript {
repositories {
maven { url = 'https://maven.minecraftforge.net' }
mavenCentral()
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:3.+'
}
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
version = '1.0'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'modid'
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
processResources {
inputs.property "modid", archivesBaseName.toLowerCase()
inputs.property "name", archivesBaseName
inputs.property "version", project.version
inputs.property "mcversion", "1.12.2"
sourceSets {
main.java.srcDirs = ['src/main/java']
main.resources.srcDirs = ['src/main/resources']
}
from(sourceSets.main.resources.srcDirs) {
include "mcmod.info"
expand "modid": archivesBaseName.toLowerCase(), "name": archivesBaseName,
"version": project.version, "mcversion": "1.12.2"
}
from(sourceSets.main.resources.srcDirs) {
exclude "mcmod.info"
}
}
minecraft {
// The mappings can be changed at any time, and must be in the following format.
// snapshot_YYYYMMDD Snapshot are built nightly.
// stable_# Stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not always work.
// Simply re-run your setup task after changing the mappings to update your workspace.
//mappings channel: 'snapshot', version: '20171003-1.12'
mappings channel: 'snapshot', version: '20171003-1.12'
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
// Default run configurations.
// These can be tweaked, removed, or duplicated as needed.
runs {
client {
workingDirectory project.file('run')
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'debug'
}
server {
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'debug'
}
}
}
dependencies {
implementation 'org.jetbrains:annotations:20.1.0'
// Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
// that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
minecraft 'net.minecraftforge:forge:1.12.2-14.23.5.2859'
// You may put jars on which you depend on in ./libs or you may define them like so..
// compile "some.group:artifact:version:classifier"
// compile "some.group:artifact:version"
// Real examples
// compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
// compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// The 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
// provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// These dependencies get remapped to your current MCP mappings
// deobf 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// For more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
// Example for how to get properties into the manifest for reading by the runtime..
jar {
manifest {
attributes([
"Specification-Title": "examplemod",
"Specification-Vendor": "examplemodsareus",
"Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name,
"Implementation-Version": "${version}",
"Implementation-Vendor" :"examplemodsareus",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
// Example configuration to allow publishing using the maven-publish task
// This is the preferred method to reobfuscate your jar file
jar.finalizedBy('reobfJar')
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
//publish.dependsOn('reobfJar')
publishing {
publications {
mavenJava(MavenPublication) {
artifact jar
}
}
repositories {
maven {
url "file:///${project.projectDir}/mcmodsrepo"
}
}
}
apply plugin: 'idea'
idea {
module {
inheritOutputDirs = true
idea.module.inheritOutputDirs = true
}
}
subprojects {
apply plugin: 'idea'
}
task prepareAssets(type: Copy) {
group = 'build'
from project.file('src/main/resources')
into project.file('build/classes/java/main')
}
classes.dependsOn(prepareAssets)
Прошу помогите
Последнее редактирование: