Jump to content

[1.7.2][SOLVED] Custom Rendered Blocks - Transparency


Kimpton

Recommended Posts

Hello,

        I was following the guides on YouTube;

and now struggling...

 

I am picking up coding from not looking at it for about a year. Please don't yell at things I may do wrong but rather tell me its not done like that haha :)

Secondly I have looked at the forums and cant find someone with a similar error therefore making me conclude I'm missing something.

 

Overview of problem:

  I can create the block in Techne and export etc.. the code seems fine in my opinion (obviously something is wrong) and I have no ''errors'' however once in game my block I place down is transparent, yet not in the sense that it allows you to see through the world, but it literally is like a pane of glass. I can get my texture for the block to be viewable in hand so long as its not the 3D version. If it is then my texture in hand is like I have assigned no texture at all. Here is my workspace layout:

 

http://gyazo.com/ffd5cb3312377b69b807a145d99ac1ab

 

and here is my code:

 

ModelCollumStone: http://pastebin.com/U6Y99ZGD

 

TileEntityCollumStone: http://pastebin.com/v2S7CnfB

 

HandEntityCollumStoneRenderer: http://pastebin.com/EjAV4EmW

TileEntityCollumStoneRenderer: http://pastebin.com/VG2YT9Qj

 

CollumStone: http://pastebin.com/1Nm6255e

 

ClientProxy: http://pastebin.com/zEPeVfXF

CommonProxy: http://pastebin.com/gZXShKd2

KimptonCore: http://pastebin.com/0hFB7S6c

 

From what I can tell, my client proxy isn't being read? therefore the block doesn't know where to locate its rendering code - regardless of the textures. I'm not in a hurry to get an answer, nor for someone to write this for me, I wish to learn as a I go along. I have very small knowledge over Java but I'm quite competent with JavaScript. Possibly pointing me in the right direction would help me more than just a lump of code that solves this issue.

 

I know in my paste bin for ''CollumStone'' i haven't written my Creative Tab - its because it doesn't load my block into that either, so I leave it in as Deco Tab.

 

Here's an image in-game:

http://gyazo.com/347863c3ba94f4a70d4775ef571caa08

 

ps. I know column is not spelt Collum but i have plans to use column as a prefix for future blocks and therefore used Collum while I test things out.

 

 

Many thanks in advanced,

Kimpton - The Wannabe Modder.

 

*MODIFICATION*

 

I have a sneaky suspicion that I possibly have set-up this grindle thing completely wrong - if this helps aha: I will resetup my Eclipse and reply if this error persists.

Link to comment
Share on other sites

For one thing, fix your modid: lowercase letters and numbers only (spaces are iffy, so leave those out for safety).

Another, you don't use new Block/Item/TE in the main class section. Put those inside your Preinitialization event method.

Link to comment
Share on other sites

Okay thanks for clearing the modid thing: having to read a few 1.6.4 videos, I was told it didn't matter? But either way thanks'. Secondly do you mean place:

   public static Block CollumStone = new CollumStone(Material.rock).setBlockName("CollumStone");

 

into

@EventHandler
    public void PreInit(FMLPreInitializationEvent preEvent){
    	//Registering Creative Tabs
    	latheTab = new CreativeTabs("kimpton"){
    		@SideOnly(Side.CLIENT)
    		public Item getTabIconItem(){
    			return Item.getItemFromBlock(KimptonCore.CollumStone);
    		}
    	};    	
    	//Registering Blocks
    	GameRegistry.registerBlock(CollumStone, "CollumStone");     	
    	//Registering Tile Entities
    	GameRegistry.registerTileEntity(TileEntityCollumStone.class, "CollumStone");    	
    	//Rendering Blocks and Mobs
       	kimptonProxy.RenderInfomation();
    	kimptonProxy.registerTileEntitySpecialRenderer();
    }

 

If so - then the block doesn't get registered at all. :(

 

 

*MODIFICATION*

 

package com.kimpton.common;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

import com.kimpton.block.entity.TileEntityCollumStone;
import com.kimpton.block.render.TileEntityCollumStoneRenderer;
import com.kimpton.blockDatabase.CollumStone;


@Mod(modid = KimptonCore.modid, version = KimptonCore.VERSION)
public class KimptonCore
{
public static final String modid = "lathemod";
    public static final String VERSION = "1.0";    
    //Own Creative Tabs
    public static CreativeTabs latheTab;    
    //Defining Blocks
    public static Block CollumStone;    
    //Proxy Settings
    @SidedProxy(clientSide = "com.kimpton.common.ClientProxy", serverSide = "com.kimpton.common.CommonProxy")
    public static CommonProxy kimptonProxy;
    
    @EventHandler
    public void PreInit(FMLPreInitializationEvent preEvent){
    	//Registering Creative Tabs
    	latheTab = new CreativeTabs("kimpton"){
    		@SideOnly(Side.CLIENT)
    		public Item getTabIconItem(){
    			return Item.getItemFromBlock(KimptonCore.CollumStone);
    		}
    	}; 
    	//Define Block Properties
    	CollumStone = new CollumStone(Material.rock).setBlockName("CollumStone");
    	//Registering Blocks
    	GameRegistry.registerBlock(CollumStone, "CollumStone");     	
    	//Registering Tile Entities
    	GameRegistry.registerTileEntity(TileEntityCollumStone.class, "CollumStone");    	
    	//Rendering Blocks and Mobs
       	kimptonProxy.RenderInfomation();
    	kimptonProxy.registerTileEntitySpecialRenderer();
    }
    
    @EventHandler
    public void Init(FMLInitializationEvent event){
    	
    }    
    @EventHandler
    public void PostInit(FMLPostInitializationEvent postEvent){
    	
    }

}

 

That boots - main problem still persists however.. :(

Link to comment
Share on other sites

Hi

 

I suspect the problem is that you've made your RenderInformation static, so it doesn't override CommonProxy.RenderInformation.  It's a good idea to put @Override before any methods you want to override, so the compiler will tell you you've got a problem.

 

i.e. try this and see what it tells you

 

public class ClientProxy extends CommonProxy {

@Override       
        public static void RenderInfomation(){ 

 

-TGG

 

Link to comment
Share on other sites

Ok thanks for replying :)

 

Yeah it doesn't like it being there ''@Override'' however leaving it in there and the complier doesn't spit out anything - runs completely smooth..

Well that's strange.  When I put @Override before a static method it refuses to compile and tells me

"static method xxx in derived class cannot override instance method xxx in base class"

 

What happens if you remove the static from your RenderInformation()?

 

(BTW you should really name it renderInformation() to be consistent with Java naming conventions :)  )

 

-TGG

Link to comment
Share on other sites

Okay yep now it's spitting out problems. Having renamed RenderInfomation to renderInfomation (and in all the other relative places also) while also removing ''Static" in common and client proxy it throws out this:

 

[15:10:28] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
[15:10:28] [Client thread/ERROR] [FML]: 
mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
FML{7.2.156.1060} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.1.1060.jar) Unloaded->Constructed->Pre-initialized
Forge{10.12.1.1060} [Minecraft Forge] (forgeSrc-1.7.2-10.12.1.1060.jar) Unloaded->Constructed->Pre-initialized
lathemod{1.0} [lathemod] (bin) Unloaded->Constructed->Errored
[15:10:28] [Client thread/ERROR] [FML]: The following problems were captured during this phase
[15:10:28] [Client thread/ERROR] [FML]: Caught exception from lathemod
java.lang.NullPointerException
at com.kimpton.block.model.ModelCollumStone.<init>(ModelCollumStone.java:100) ~[ModelCollumStone.class:?]
at com.kimpton.block.render.TileEntityCollumStoneRenderer.<init>(TileEntityCollumStoneRenderer.java:20) ~[TileEntityCollumStoneRenderer.class:?]
at com.kimpton.common.ClientProxy.renderInfomation(ClientProxy.java:16) ~[ClientProxy.class:?]
at com.kimpton.common.KimptonCore.PreInit(KimptonCore.java:53) ~[KimptonCore.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_05]
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) ~[FMLModContainer.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_05]
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:209) ~[LoadController.class:?]
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:188) ~[LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_05]
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
at cpw.mods.fml.common.Loader.loadMods(Loader.java:500) [Loader.class:?]
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:202) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:520) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:890) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_05]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]

 

From what I can tell is that now its not static, my Core class cant read the function? This is the same error with or without "Override".

 

Thanks in advanced.

Link to comment
Share on other sites

From what I can tell is that now its not static, my Core class cant read the function? This is the same error with or without "Override".

 

Nah, dude, that's a good sign.  It means your ClientProxy code is actually running now.  So now you're finding the next bug :)

 

If you look at this part here

java.lang.NullPointerException

at com.kimpton.block.model.ModelCollumStone.<init>(ModelCollumStone.java:100) ~[ModelCollumStone.class:?]

It tells you that there's something wrong in your ModelCollumStone constructor, at line 100:

probably here I think

      Shape16.mirror = true;
      Shape16 = new ModelRenderer(this, 0, 0);

 

Techne is notorious for this bug, i.e. using Shape16 before initialising it.  Compare the Shape16 lines to the others (eg Shape15).

 

-TGG

 

 

 

Link to comment
Share on other sites

Haha! It works :)

 

      Shape15 = new ModelRenderer(this, 0, 0);
      Shape15.addBox(0F, 0F, 0F, 1, 16, 1);
      Shape15.setRotationPoint(6F, 8F, 4F);
      Shape15.setTextureSize(154, 154);
      Shape15.mirror = true;
      setRotation(Shape15, 0F, 0F, 0F);

      Shape16 = new ModelRenderer(this, 0, 0);
      Shape16.addBox(0F, 0F, 0F, 1, 16, 1);
      Shape16.setRotationPoint(4F, 8F, 6F);
      Shape16.setTextureSize(154, 154);
      Shape16.mirror = true;

 

The gap was the error - it had an extra    "  Shape16.mirror = true; " in that gap - Looking at the other Shapes, it was quite obvious it didn't need to be there.

There's a texture bug now - but don't worry I can sort that out. Thank you very much!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Baba  Serege [[+27-73 590 8989]] has experience of 27 years in helping and guiding many people from all over the world. His psychic abilities may help you answer and resolve many unanswered questions. He specialize in helping women and men from all walks of life.. 1) – Bring back lost lover. even if lost for a long time. 2) – My lover is abusing alcohol, partying and cheating on me I urgently need help” 3) – Divorce or court issues. 4) – Is your love falling apart? 5) – Do you want your love to grow stronger? 6) – Is your partner losing interest in you? 7) – Do you want to catch your partner cheating on you? – We help to keep your partner faithful and loyal to you. 9) – We recover love and happiness when relationship breaks down. 10) – Making your partner loves you alone. 11) – We create loyalty and everlasting love between couples. 12) – Get a divorce settlement quickly from your ex-partner. 13) – We create everlasting love between couples. 14) – We help you look for the best suitable partner. 15) – We bring back lost lover even if lost for a long time. 16) – We strengthen bonds in all love relationship and marriages 17) – Are you an herbalist who wants to get more powers? 18) – Buy a house or car of your dream. 19) – Unfinished jobs by other doctors come to me. 20) – I help those seeking employment. 21) – Pensioners free treatment. 22) – Win business tenders and contracts. 23) – Do you need to recover your lost property? 24) – Promotion at work and better pay. 25) – Do you want to be protected from bad spirits and nightmares? 26) – Financial problems. 27) – Why you can’t keep money or lovers? 28) – Why you have a lot of enemies? 29) – Why you are fired regularly on jobs? 30) – Speed up money claim spell, delayed payments, pension and accident funds 31) – I help students pass their exams/interviews. 33) – Removal of bad luck and debts. 34) – Are struggling to sleep because of a spiritual wife or husband. 35- ) Recover stolen property
    • OLXTOTO adalah situs bandar togel online resmi terbesar dan terpercaya di Indonesia. Bergabunglah dengan OLXTOTO dan nikmati pengalaman bermain togel yang aman dan terjamin. Koleksi toto 4D dan togel toto terlengkap di OLXTOTO membuat para member memiliki pilihan taruhan yang lebih banyak. Sebagai situs togel terpercaya, OLXTOTO menjaga keamanan dan kenyamanan para membernya dengan sistem keamanan terbaik dan enkripsi data. Transaksi yang cepat, aman, dan terpercaya merupakan jaminan dari OLXTOTO. Nikmati layanan situs toto terbaik dari OLXTOTO dengan tampilan yang user-friendly dan mudah digunakan. Layanan pelanggan tersedia 24/7 untuk membantu para member. Bergabunglah dengan OLXTOTO sekarang untuk merasakan pengalaman bermain togel yang menyenangkan dan menguntungkan.
    • Baba  Serege [[+27-73 590 8989]] has experience of 27 years in helping and guiding many people from all over the world. His psychic abilities may help you answer and resolve many unanswered questions. He specialize in helping women and men from all walks of life.. 1) – Bring back lost lover. even if lost for a long time. 2) – My lover is abusing alcohol, partying and cheating on me I urgently need help” 3) – Divorce or court issues. 4) – Is your love falling apart? 5) – Do you want your love to grow stronger? 6) – Is your partner losing interest in you? 7) – Do you want to catch your partner cheating on you? – We help to keep your partner faithful and loyal to you. 9) – We recover love and happiness when relationship breaks down. 10) – Making your partner loves you alone. 11) – We create loyalty and everlasting love between couples. 12) – Get a divorce settlement quickly from your ex-partner. 13) – We create everlasting love between couples. 14) – We help you look for the best suitable partner. 15) – We bring back lost lover even if lost for a long time. 16) – We strengthen bonds in all love relationship and marriages 17) – Are you an herbalist who wants to get more powers? 18) – Buy a house or car of your dream. 19) – Unfinished jobs by other doctors come to me. 20) – I help those seeking employment. 21) – Pensioners free treatment. 22) – Win business tenders and contracts. 23) – Do you need to recover your lost property? 24) – Promotion at work and better pay. 25) – Do you want to be protected from bad spirits and nightmares? 26) – Financial problems. 27) – Why you can’t keep money or lovers? 28) – Why you have a lot of enemies? 29) – Why you are fired regularly on jobs? 30) – Speed up money claim spell, delayed payments, pension and accident funds 31) – I help students pass their exams/interviews. 33) – Removal of bad luck and debts. 34) – Are struggling to sleep because of a spiritual wife or husband. 35- ) Recover stolen property
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.