Jump to content

[1.7.10]Strange Custom Fireball Behavior


BuddingDev

Recommended Posts

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

 

 

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

    • So I saw that mixin is shipped as a library with forge, but is it available for 1.7.10 ?  
    • So I've read the EULA, and lets be straight...     If I split my modpack(of my mods, yeah I'm nuts) into several(many) individual mods(like just one boss) with minor additions(plus not working together), then have a complete/modpack version on patreon/onlyfans having each addon work together... Would people buy my idea?
    • German A1 – C1, TestDAF, Goethe B1, B2, C1, C2, valid GOETHE certificate German A1 – C1, TestDAF, Goethe B1, B2, C1, C2, valid GOETHE certificate(+27(838-80-8170
    • Done, it still crashed. New log https://paste.ee/p/kYv6e
    • I am migrating a mod from 1.16.5 to 1.20.2 The version for 1.16.5 can be found here https://github.com/beothorn/automataCraft For the block called automata_start, it uses TileEntities and has blockstates, model/block and textures on json files. This is currently working fine on 1.16.5 https://github.com/beothorn/automataCraft/tree/master/src/main/resources/assets/automata For 1.20.2 I migrated the logic from TileEntities to BlockEntity. The mod is working fine. All blocks and Items are working with the correct textures except for the textures for each state of the automata_start block. No changes where made to the json files. This is the branch I am working on (there were some refactorings, but all is basically the same): https://github.com/beothorn/automataCraft/tree/1_20/src/main/resources/assets/automata The only difference I can think that may be related is that i had to implement createBlockStateDefinition on the BaseEntityBlock: https://github.com/beothorn/automataCraft/blob/1_20/src/main/java/br/com/isageek/automata/automata/AutomataStartBlock.java#L43 This is driving me crazy. I know the jsons are being loaded as I put a breakpoint at `net.minecraft.client.resources.model.ModelBakery#loadModel` and I can see BlockModelDefinition.fromJsonElement being called with automata_start. I also printed the state from the arguments of the tick function call and they look correct (https://github.com/beothorn/automataCraft/blob/1_20/src/main/java/br/com/isageek/automata/automata/Ticker.java#L32 ): blockState Block{automata:automata_start}[state=loadreplaceables] In game, all I see is the no textures. I think it is weird it is not the "missing texture" texture so I think it may be related to the material, but I had no success tweaking it (https://github.com/beothorn/automataCraft/blob/1_20/src/main/java/br/com/isageek/automata/automata/AutomataStartBlock.java#L37).   public static final Property<AutomataStartState> state = EnumProperty.create("state", AutomataStartState.class); private final AtomicReference<RegistryObject<BlockEntityType<?>>> blockEntityType; private final Map<String, RegistryObject<Block>> registeredBlocks; public AutomataStartBlock( final AtomicReference<RegistryObject<BlockEntityType<?>>> blockEntityType, final Map<String, RegistryObject<Block>> registeredBlocks ) { super(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F, 6.0F)); this.blockEntityType = blockEntityType; this.registeredBlocks = registeredBlocks; this.registerDefaultState(this.getStateDefinition().any().setValue(state, AutomataStartState.LOAD_REPLACEABLES)); } @Override protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> stateBuilder) { stateBuilder.add(state); }     So my cry for help is, anyone has any ideas? Is there a way to easily debug this, for example somewhere where I can list the textures for a given state, or make sure this is loaded?   Thanks in advance for the hints
  • Topics

×
×
  • Create New...

Important Information

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