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.

Featured Replies

  • Author
Just now, loordgek said:

and stop ping everybody it is annoying

Sorry, is here a way to delete my reply?

New in Modding? == Still learning!

  • Replies 52
  • Views 19.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Have you looked at how vanilla animals (e.g. pig or sheep) do it?   Mob entities (which include animals) have goals, which are registered and run by the entity's GoalSelector object.  Every

  • If you can't view vanilla code from your IDE, get that fixed ASAP. It's absolutely critical to be able to see how vanilla and Forge code does stuff, not to mention being able to set debugging breakpoi

  • As Soon As Possible

  • Author
25 minutes ago, loordgek said:

na just leaf it

Why Forge not have this option? Anyway thanks for the link, i am reading it. But can i simply not use the by Minecraft provided PacketBuffer class? Then if i have created my class (if), then how to use it with my function? Yes, the link show me a example, but it not really help me… 

Edited by DragonITA

New in Modding? == Still learning!

  • Author

New in Modding? == Still learning!

  • Author
18 hours ago, loordgek said:

show me what you have tried 

@loordgek here is my code. I found a method to register my Buffer: https://github.com/DragonGamerDevelopers/NewFantasyMod/blob/1.15.2/src/main/java/mod/dragonita/fantasymod/Main.java#L75

 

But i have no idea on how to use it:

18 hours ago, DragonITA said:

hen how to use it with my function?

So i not know what i can send to the server. Thanks for trying to help me!

New in Modding? == Still learning!

https://github.com/DragonGamerDevelopers/NewFantasyMod/blob/1.15.2/src/main/java/mod/dragonita/fantasymod/customthings/ModidPacketHandler.java#L22-L35

it is better to extract this into its own class and name it "PanicMessage" ModidPacketHandler is a bad name for it

 

https://github.com/DragonGamerDevelopers/NewFantasyMod/blob/1.15.2/src/main/java/mod/dragonita/fantasymod/customthings/ModidPacketHandler.java#L30

needs also the message, "PanicMessage" in this case

public void handle(PanicMessage message, Supplier<NetworkEvent.Context> context)

 

https://github.com/DragonGamerDevelopers/NewFantasyMod/blob/1.15.2/src/main/java/mod/dragonita/fantasymod/Main.java#L75

where you do 505156459 it is better to have do ID++ and ID is a static field

 

https://github.com/MinecraftForge/MinecraftForge/blob/1.15.x/src/main/java/net/minecraftforge/fml/network/simple/SimpleChannel.java#L112-L125

use this to send a message to the client

  • Author

 

1 hour ago, loordgek said:

use this to send a message to the client

Why i message? I have think that i need to use my Network class for using the getRunningGoals() function, as the returned stream was always null…

 

1 hour ago, loordgek said:

it is better to extract this into its own class and name it "PanicMessage"

Ok, if you think.

 

1 hour ago, loordgek said:

needs also the message, "PanicMessage" in this case

Thanks, it help me to know how to use it.

New in Modding? == Still learning!

1 hour ago, DragonITA said:

Why i message? I have think that i need to use my Network class for using the getRunningGoals() function, as the returned stream was always null…

it is server side you need to send a message to all clients in render range to tell it panics 

  • Author

Not important (edited a dumb question)

Edited by DragonITA

New in Modding? == Still learning!

  • Author

So, i am trying to make as you have say it, but i not understand what msg is, i searched with crtl + shift + T and i found 2 classes, and if i search on google i find Jms, and this don‘t is what i need. But really thanks @loordgek!

Edited by DragonITA

New in Modding? == Still learning!

  • Author
8 hours ago, loordgek said:

Yes, i know what the final modifier make, i say me that final modifier was not allowed as i use the ++ Operator, and this can‘t work with the final keyword. So i yet just have ID, without ++. 

 

8 hours ago, loordgek said:

Sorry, i was dumb. I just notate that i copied from the other class.

 

New in Modding? == Still learning!

  • Author

I can‘t find any method in the PlayerEntity or ServerPlayerEntity or Chunk class, and i can‘t find any tutorial about this, so…

New in Modding? == Still learning!

2 hours ago, DragonITA said:

Yes, i know what the final modifier make, i say me that final modifier was not allowed as i use the ++ Operator, and this can‘t work with the final keyword. So i yet just have ID, without ++. 

no. dont make it final, dont set it, and use ++

 

instead of TRACKING_CHUNK use TRACKING_ENTITY

  • Author
4 hours ago, loordgek said:

instead of TRACKING_CHUNK use TRACKING_ENTITY

Thanks

 

4 hours ago, loordgek said:

no. dont make it final, dont set it

 

17 hours ago, loordgek said:

plz learn what the final modifier does

it can start at 0

 

Ok, this i understand, but i not understand why i not need to set it… Ok, i will try.

Edited by DragonITA

New in Modding? == Still learning!

  • Author

Thanks for you very great help, this is what i now have:

https://github.com/DragonGamerDevelopers/NewFantasyMod/blob/1.15.2/src/main/java/mod/dragonita/fantasymod/entities/UnicornEntity.java#L51

 

https://github.com/DragonGamerDevelopers/NewFantasyMod/blob/1.15.2/src/main/java/mod/dragonita/fantasymod/client/models/ModelUnicorn.java#L308

 

Is here any way to get the Player or i just can replace:

	public boolean CompareGoal(Class<PanicGoal> TargetGoal, PlayerEntity player) {
		PacketHandler.INSTANCE.send(PacketDistributor.TRACKING_ENTITY.with(()->player), PanicMessage.class);
		LOGGER.info("The ReturnValue will be: " + this.goalSelector.getRunningGoals().anyMatch(goal -> goal.getGoal().getClass() == TargetGoal));
		return this.goalSelector.getRunningGoals().anyMatch(goal -> goal.getGoal().getClass() == TargetGoal);
	}

with this:

	public boolean CompareGoal(Class<PanicGoal> TargetGoal, PlayerEntity player) {
		PacketHandler.INSTANCE.send(PacketDistributor.TRACKING_ENTITY.noArg(), PanicMessage.class);
		LOGGER.info("The ReturnValue will be: " + this.goalSelector.getRunningGoals().anyMatch(goal -> goal.getGoal().getClass() == TargetGoal));
		return this.goalSelector.getRunningGoals().anyMatch(goal -> goal.getGoal().getClass() == TargetGoal);
	}

It just was a question @loordgek.

New in Modding? == Still learning!

  • Author
29 minutes ago, loordgek said:

Thanks you a very much! Sorry if i annoy you. I just am curious: What is dataManger? i have see this in others in the others entity‘s, but never have understand what it really make. The rest i can understand (only a couple of things). This will really help others modder. 

 

So, here is only one thing that i not understand:

	public boolean isPanic() {
 		return this.goalSelector.getRunningGoals().anyMatch(goal -> goal.getGoal().getClass() == PanicGoal.class);
 	}


 	@Override
 	public void tick() {
 		super.tick();
 		if (!world.isRemote) {
 			if (isPanic() && !dataManager.get(PANIC)) {
 				dataManager.set(PANIC, true);
 			} else dataManager.set(PANIC, false);
 		}
 	}

When before my isPanic function don‘t has work, so why it should be work here, only as here we get it from the client side? And with this my Packet/Channel will be useless…

And why DataManagers are useful? Really thank for your help (If you want i can add you into my Mod credits…)!

Edited by DragonITA

New in Modding? == Still learning!

 

1 hour ago, DragonITA said:

When before my isPanic function don‘t has work, so why it should be work here, only as here we get it from the client side?

it server side only

 

1 hour ago, DragonITA said:

If you want i can add you into my Mod credits…

?

 

  • Author
1 hour ago, DragonITA said:

And with this my Packet/Channel will be useless…

Where can i use this?

New in Modding? == Still learning!

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.