Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[1.7.2] Inherited Abstract, getBlockBrightness, setLightValue, etc :(

Featured Replies

Posted

-

Edited by konstantacil

Okay, this is just a Java thing, not really specific to modding.  You probably need to learn more about Java.  But here is an explanation.

 

You have extended BlockContainer class which (if you look at the source for that class) implements the interface ITileEntityProvider.  But BlockContainer doesn't fully implement that interface, which means that BlockContainer has to be declared as "abstract".  Therefore it is up to your class to finish the implementation of the interface.

 

What you need to do is to follow Eclipse's suggested fix -- if you hover over the red-underlined error part of your code Eclipse will usually suggest a fix.  In this case it should suggest to add the unimplemented methods to your class.  When you do that several methods will be added to the end of your class code, but the bodies of these methods will be empty (except a comment marking these as TODO).

 

You then need to look at each method and put in your code that is relevant to your class.

 

In this case, the only method that needs to be implemented is the createNewTileEntity() method.  So of course in that method you should create and return the tile entity that is appropriate to your container.

 

Hope that makes some sense...

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Just to clarify you dont create the tile in that method the tile needs to be its own separate class that extends TileEntity. In that class you simply have to return a new instance of your tile entity e.g.

@Override
public TileEntity createNewTileEntity(World var1, int var2)
{
return new TileEntityCampfireLog();
}

looking at your code it looks like you are missing a variable in your createNewTileEntity method.

 

Whenever you override a method you should add the @Override annotation as shown in example above that will give an error if you do something wrong such as miss a variable. 

I am the author of Draconic Evolution

-

Edited by konstantacil

im not sure how to change the light level most blocks i have seen such as lamps that can be turned on and off actually have two different blocks one for on and one for off.

 

I am the author of Draconic Evolution

You don't need two blocks with forge, metadata is enough. Or even a value in your TileEntity.

There is a method getLightValue which gives you access to the World and coordinates.

awesome thats good to know.

I am the author of Draconic Evolution

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.