2014-05-22 6 views
1

블록을 교체하거나 여러 블록을 등록하지 않고도 세계 텍스처의 특정 블록을 업데이트하고 싶습니다. Forge 버전 1.7.2, 권장 버전을 사용하고 있습니다.초기화 후 블록 텍스처를 동적으로 업데이트하는 방법이 있습니까?

+0

주목, 학습 시합. – SSBlur

+0

그것은 꽤 어려울 것입니다, 그냥 머리를 ... –

+0

나는 바닐라 용광로가 그 일을한다는 것을 알아 챘습니다. 그걸 보면서. 편집 : Nvm, 그것은 블록을 변경합니다. – SSBlur

답변

1

텍스처 디렉토리에 여러 개의 텍스처가 있고 registerBlockIcons(IIconRegister register) 방법으로 모두 텍스처를 등록 할 수 있습니다. 예 :

package com.example.examplemod; 

import net.minecraft.block.Block; 
import net.minecraft.block.material.Material; 
import net.minecraft.client.renderer.texture.IIconRegister; 
import net.minecraft.util.IIcon; 
import cpw.mods.fml.relauncher.Side; 
import cpw.mods.fml.relauncher.SideOnly; 

public class BlockMultiTextureDemo extends Block { 

//Save state to NBT at the world save time. 
private int state = 0; 

private final int DONE = 0; 
private final int WORKING = 1; 
private final int NOPOWER = 2; 
private final int MACHINEBROKE = 3; 


@SideOnly(Side.CLIENT) 
public static IIcon doneIcon; 
@SideOnly(Side.CLIENT) 
public static IIcon workIcon; 
@SideOnly(Side.CLIENT) 
public static IIcon nopowerIcon; 
@SideOnly(Side.CLIENT) 
public static IIcon brokeIcon; 
@SideOnly(Side.CLIENT) 
public static IIcon topIcon; 

protected BlockMultiTextureDemo(Material material) { 
    super(material); 
} 

@Override 
public void registerBlockIcons(IIconRegister register) { 
    super.registerBlockIcons(register); 
    doneIcon = register.registerIcon("MODID:" + getUnlocalizedName() 
      + "_DONE"); 
    workIcon = register.registerIcon("MODID:" + getUnlocalizedName() 
      + "_WORKING"); 
    nopowerIcon = register.registerIcon("MODID:" + getUnlocalizedName() 
      + "_NOPOWER"); 
    brokeIcon = register.registerIcon("MODID:" + getUnlocalizedName() 
      + "_BROKE"); 
    topIcon = register.registerIcon("MODID:" + getUnlocalizedName() 
      + "_TOP"); 

} 

@Override 
protected String getTextureName() { 
    return super.getTextureName(); 
} 

@Override 
public IIcon getIcon(int side, int meta) { 
    switch (meta) { 
    case DONE: 
     return doneIcon; 
    case WORKING: 
     return workIcon; 
    case NOPOWER: 
     return nopowerIcon; 
    case MACHINEBROKE: 
     return brokeIcon; 
    default: 
     return topIcon; 
    } 
    } 
} 

희망이 무엇입니까?