Jump to content

[1.15.2] Check if a entity is in panic, how?


DragonITA

Recommended Posts

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!

Link to comment
Share on other sites

New in Modding? == Still learning!

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

 

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!

Link to comment
Share on other sites

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 

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

Ok, so, now i only need to get the Chunk of the player, any idea? This is what i have(yes, it was false i know):

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

 

I read it into the link you sendet me…

Edited by DragonITA

New in Modding? == Still learning!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

 

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…

?

 

  • Like 1
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

    • This is a MacOs related issue: https://bugs.mojang.com/browse/MC-118506     Download this lib: https://libraries.minecraft.net/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar and put it into ~/Library/Application Support/minecraft/libraries/ca/weblite/java-objc-bridge/1.0.0  
    • I use Bisect-Hosting, and I host a relatively modded server.  There is a mod I desperately want to have in a server. https://www.curseforge.com/minecraft/mc-mods/minehoplite This is MineHop. It's a mod that replicates the movement capabilities seen in Source Engine games, such as Half-Life, and such.  https://youtu.be/SbtLo7VbOvk - A video explaining the mod, if anyone is interested.  It is a clientside mod, meaning whoever is using it can change anything about the mod that they want, with no restrictions, even when they join a server with the same mod. They can change it to where they can go infinitely fast, or do some other overpowered thing. I don't want that to happen. So I just want to know if there is some way to force the SERVER'S configuration file, onto whoever is joining.  I'm not very savvy with all this modding stuff. There are two config files: minehop-common.txt, and minehop.txt I don't really know much about how each are different. I just know what the commands relating to acceleration and stuff mean.    
    • My journey into crypto trading began tentatively, with me dipping my toes into the waters by purchasing my first Bitcoin through a seasoned trader. With an initial investment of $5,000, I watched as my investment grew, proving to be both fruitful and lucrative. Encouraged by this success, I decided to increase my investment to $150,000, eager to capitalize on the growing popularity of cryptocurrency, However, as cryptocurrency gained mainstream attention, so too did the number of self-proclaimed "experts" in the field. Suddenly, everyone seemed to be a crypto guru, and more and more people were eager to jump on the bandwagon without fully understanding the intricacies of this complex world. With promises of quick and easy profits, these con artists preyed on the uninformed, luring them into schemes that often ended in disappointment and financial loss. Unfortunately, I fell victim to one such scheme. Seduced by the allure of easy money, I entrusted my hard-earned funds to a dubious trading platform, granting them access to my accounts in the hopes of seeing my investment grow. For a brief period, everything seemed to be going according to plan, with regular withdrawals and promising returns on my investment. However, my hopes were soon dashed when, without warning, communication from the platform ceased, and my Bitcoin holdings vanished into thin air. Feeling helpless and betrayed, I confided in a family member about my predicament. They listened sympathetically and offered a glimmer of hope in the form of a recommendation for Wizard Web Recovery. Intrigued by the possibility of reclaiming what I had lost, I decided to explore this option further. From the moment I reached out to Wizard Web Recovery, I was met with professionalism and empathy. They took the time to understand my situation and reassured me that I was not alone in my plight. With their guidance, I embarked on a journey to reclaim what was rightfully mine. Wizard Web Recovery's expertise and dedication were evident from the start. They meticulously analyzed the details of my case, uncovering crucial evidence that would prove invaluable in our quest for justice. With each step forward, they kept me informed and empowered, instilling in me a newfound sense of hope and determination. Through their tireless efforts and unwavering support, Wizard Web Recovery succeeded in recovering my lost Bitcoin holdings. It was a moment of triumph and relief, knowing that justice had been served and that I could finally put this chapter behind me. In conclusion, My experience with Wizard Web Recovery  was nothing short of transformative. Their professionalism, expertise, and unwavering commitment to their clients set them apart as true leaders in the field of cryptocurrency recovery. I am forever grateful for their assistance and would highly recommend their services to anyone in need of help navigating the treacherous waters of cryptocurrency scams. 
    • Ok so: Two things to note: It got stuck due to my dimension type. It was previously the same as the overworld dimension tpye but after changing it , it didn't freeze during spawn generation. ALSO, APPARENTLY, the way I'm doing things, the game can't have two extremely-rich dimensions or it will make the new chunk generation be veeery VEEERY slow. I'm doing the dimension file genreation all in the data generation step now, so it's all good. Mostly. If anybody has any tips regarding how can i more efficently generate a biome-rich dimension, im all ears.
    • https://mclo.gs/qTo3bUE  
  • Topics

×
×
  • Create New...

Important Information

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