Jump to content

Recommended Posts

Posted

As stated, my custom-made fireball (inherited from EntityFireball of Ghast-style fire balls) is behaving strange.

They all explode when they hit something, which is OK.

Half of the spawned entity displays the fireball texture (which is OK) but the rest of them displays the classical white entity cube!

Is there something I missed while doing the render? Or something I cannot comprehend?

Posted

There are so many ways to render an entity.

(Render files, new RenderStuff();)

And some of them are outdated.

I still did not find a way to properly render it.

It is confusing for a newbie like me

 

EDIT: I want the falling fireball to look like vanilla ones, but I never figure out how to inherit and use the stuff properly.

Posted

(If my code suggests that I am not newbie, ignore that, for I just copied the code and found that it worked...)

Well, let me explain this entity and what I plan to do with it first:

Remember when people start spamming the web that Herobrine has a power tool that spawn lightning everywhere?

I was inspired by this and created a power tool. But this time instead of lightning it spawns custom-made fireballs that fall from the sky and BOOM.

My power tool will spawn those Meteors above where it was pointed. And somehow, it created a good-looking vanilla fireball and a white cube at the same time... (the white cube exploded because it touched the vanilla one. But anyway...)

 

Power Tool (Meteor spawner):

http://pastebin.com/K7NeXyw0

 

Meteor:

http://pastebin.com/C0VJqjSM

 

Main.java (in case someone needs this):

...

@EventHandler

    public void preInit(FMLPreInitializationEvent e) {

        EntityRegistry.registerGlobalEntityID(Meteor.class, "meteor", EntityRegistry.findGlobalUniqueEntityId());

    }

...

 

And I cannot figure out what method to render it...

Posted

Hi

 

A few suggestions

 

MovingObjectPosition mop = Minecraft.getMinecraft().renderViewEntity.rayTrace(200, 1.0F);

 

This line shouldn't be executed on the server side, it will crash if you try it on a dedicated server.

If I recall correctly, there isn't an equivalent rayTrace code on the server side, you could copy it into your own class, but I have a feeling that the targeting might not work right.  You could try it and see.  The best solution is probably to use a packet from the client to the server saying "I have targeted entity X, shoot it".

 

When you spawn entities, it should be on the server side only, which means you should wrap it in

if (!world.isRemote) {

  // spawn stuff

}

Spawning stuff on the client side and the server side can lead to all sorts of strange things happening.

 

Lightning is spawned differently from normal entities, use world.addWeatherEffect(..) instead.

 

-TGG

 

 

 

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



×
×
  • Create New...

Important Information

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