Jump to content

[1.8] What type of custom entity rendering


Scribblon

Recommended Posts

Good day,

My subject head says it almost all. If you don't care about background look below the break line. For only the question go to the bold text.

 

Many years I tried my hand on modding. Unfortunately whenever I hit something I don't know anything about and have done plenty of work I tend to just focus too much on the stuff I do know. This most of the time results in over engineered implementation and no graphical front end to interact with... Resulting in a burned out I, and 100s of hours of in the bin.

Still wanting to finish this mod, I start again. Starting with the stuff I find most difficult: Rendering and graphics. Hence my question as I really do not know where to start, even after a week of searching google and this forum for tutorials or examples.


So, the mod is about teleportation through rifts. Think in the style of bioshock infinite. In 1.7 I had a vague idea how to do this. But since 1.8 changed it all, I have no clue where to start. The rift does not move in between blockspaces after spawning, but they do continually move slightly in its blockspace. The entity spawns particles for effects. And can despawn after use or over time.

 

Question: when an entity has to rendered which dynamically updates on collision or just by existing. The entities do not move after spawning to other block spaces. What type ( tile entity, living, or just from the base entity ) is best here? And what render system is the best. The rifts are non complex structures, most of the time just a faint thin line wobbling around a bit?

 

Pointers, tips, are highly appreciated.

 

Many thanks in advance.

"I guess as this is pretty much WIP, I can just 'borrow' the sounds from that game without problem. They are just 'placeholders' anyway." -Me, while extracting the Tear sounds of Bioshock Infinite.

Link to comment
Share on other sites

Okay. In a last ditch effort I just started mash the prev-> button and skim titles. I found some possible answers. Some of which I found earlier through the search function but just couldn't determine if it applies on my issue or not.

 

For reference:

Tutorial on Customize rendering a non-tile-entity block. http://www.minecraftforge.net/forum/index.php/topic,28714.0.html

Previous question with TESR rendering  http://www.minecraftforge.net/forum/index.php/topic,29934.0.html

A resource link seen in many https://github.com/TheGreyGhost/MinecraftByExample

Render single quad http://www.minecraftforge.net/forum/index.php/topic,29848.0.html

 

Unfortunately, I just don't know where to start on this. Everything I found has a stationary non moving model. I do know using JSON on dynamic models is a hell. But where should I begin?

Let me add the following on this opportunity. The entity will be a faint line, two blocks tall. I want to copy these aesthetic http://guides.gamepressure.com/bioshockinfinite/gfx/word/612990500.jpg and https://www.youtube.com/watch?v=vpfDjHL1x9s. But a bit more blocky and less sparkly as that would probably kill fps everywhere.

Maybe when I get further with my development it will become more flashy than a single wobbly line with a few break points slowly moving and rotating... but for now I want to settle with just that.

 

Again, I am aware this is probably not the first time this is asked. But I am just not sure where to start with this as I see many different ways, and I am not certain which way is the right one.

 

 

"I guess as this is pretty much WIP, I can just 'borrow' the sounds from that game without problem. They are just 'placeholders' anyway." -Me, while extracting the Tear sounds of Bioshock Infinite.

Link to comment
Share on other sites

If you're only doing one block it isn't that much work to do the JSONs. The main pain with JSONs for me is that there is no code verification by your IDE so simple typos are hard to debug -- in other words Eclipse won't warn you if you make a mistake.

 

Anyway, the approach to animation (either changing model or texture) is to create an int property in your block and a tile entity for the block to help control that property. The int will represent an animation step, meaning your model. In the tile entity, you can increase the property and roll back to 0 when you reach the end of your animation steps. You don't need to convert the property to metadata because the animation is just a visual effect and it isn't important to save it.

 

Then in the blockstates JSON for the block, just point to different models based on that property value.

 

If you want some more background on working with blocks in 1.8, read TheGreyGhost's tutorials: http://greyminecraftcoder.blogspot.com.au/2014/12/block-rendering-18.html and http://greyminecraftcoder.blogspot.com.au/2014/12/block-models-18.html

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

Link to comment
Share on other sites

Thank you for your reply. It happens to be that I have been reading your particle tutorial. Also a thank you for that one.

 

I am not certain that I can do this with JSON models. It is a it too dynamic for that, or I must consider using a texture animation just like the aura nodes from thaumcraft. Or that is what I suspect, I cannot check how that is really done as that is closed source.

Currently I am researching the entity's model/renderer structure in minecraft. But I am suspecting that might be overkill for what it has to be. But right now it seems to be the only solution if I want an animated model.

 

I will return whenever I finally understand all of this.

 

"I guess as this is pretty much WIP, I can just 'borrow' the sounds from that game without problem. They are just 'placeholders' anyway." -Me, while extracting the Tear sounds of Bioshock Infinite.

Link to comment
Share on other sites

You could create the model with all the potential element spaces, and UV map them in such a way that an animated texture would "animate the model".

 

Imagine this.

 

You have a block where the model is a thin pipe-like element that moves around, between 3 points, let's say.

 

You could model it with the pipe in the various positions (the JSON model would have all 3 points modeled and ready to use).

 

Then you can animate the texture so that in the first frame, the texture matching the first pipe's UV coordinates is opaque, while the rest of the image is completely transparent.

 

Doing this for all the model elements, you can create a "frame by frame" model. This will look choppy, cheap, and will always be rendering unnecessary geometry, but it's a simple, tacky way to do it.

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



×
×
  • Create New...

Important Information

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