Jump to content

[1.7.10]Checking if player leaves area


Troelsen

Recommended Posts

Hello guys!

 

I'm new to forge-modding, and I'm having some trouble figuring out how to check if a player crosses a "border".

 

So far I've tried this

public void tickPlayer(PlayerTickEvent event) {
    	double xmax = 10;
    	double xmin = -10;
    	double zmax = 10;
    	double zmin = -10;
    	
    	double bxmax = 15;
    	double bxmin = -15;
    	double bzmax = 15;
    	double bzmin = -15;
    	
    	if((event.player.posX >= xmax || event.player.posZ >= zmax) && (event.player.posX <= bxmax || event.player.posZ <= bzmax)) {
    		event.player.setGameType(GameType.SURVIVAL);
    	}
    	if((event.player.posX <= xmin || event.player.posZ <= zmin) && (event.player.posX >= bxmin || event.player.posZ >= bzmin)) {
    		event.player.setGameType(GameType.SURVIVAL);
    	}
    }

 

and this

public boolean onPlayerExitArea(EntityPlayer player) {
    	
    	double xmax = 10;
    	double xmin = -10;
    	double zmax = 10;
    	double zmin = -10;
    	
    	double bxmax = 15;
    	double bxmin = -15;
    	double bzmax = 15;
    	double bzmin = -15;
    	
    	if((player.posX >= xmax || player.posZ >= zmax) && (player.posX <= bxmax || player.posZ <= bzmax)) {
    		player.setGameType(GameType.SURVIVAL);
    	}
    	if((player.posX <= xmin || player.posZ <= zmin) && (player.posX >= bxmin || player.posZ >= bzmin)) {
    		player.setGameType(GameType.SURVIVAL);
    	}
	return false;
    	
    }

 

Neither of these seem to have any effect, but I've been searching around for about an hour now, and I can't find any reference to go by.

 

Thanks in advance

Troelsen

Link to comment
Share on other sites

Where are you calling tickPlayer resp. onPlayerExitArea?

 

Thanks for your response!

 

I'm not quite sure I understand what you mean.

 

What I'm trying to do is to set up a square, where you can move freely in creative mode, but when you leave, you'll go survival.

 

However, I'm not really sure how the PlayerTickEvent works, and if that's even the right way to go.

 

I need some sort of update, but I don't know which is the most serverfriendly one.

 

Again, I'm sorry if I come off as blank, I'm new here.

Link to comment
Share on other sites

You showed two methods. If you do not call them, the code inside them will never be executed (how would it?). So: Where do you call these methods?

 

Oh right. I'm trying to call it in my preInit, I can't seem to do so, though.

Link to comment
Share on other sites

Thanks for pointing that out.

I've now created an EventHandler class, which seems to have fixed the problem.

 

My gamemode is changed whenever I leave the 20x20 square, it is however, spammed at every tick, which I guess makes sense.

 

Is there a way to check if the player is already in survivalmode, using event.player from tickEvent?

I can't seem to find anything linked with gametype except for setGameType

 

Thanks a ton!

Link to comment
Share on other sites

If you look at the implementation of

EntityPlayer#setGameType

in

EntityPlayerMP

, you'll see that it calls

ItemInWorldManager#setGameType

.

ItemInWorldManager

actually stores the

GameType

, so get the player's current

GameType

from their

ItemInWorldManager

instance.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

If you look at the implementation of

EntityPlayer#setGameType

in

EntityPlayerMP

, you'll see that it calls

ItemInWorldManager#setGameType

.

ItemInWorldManager

actually stores the

GameType

, so get the player's current

GameType

from their

ItemInWorldManager

instance.

 

I'm sorry if I come off as a complete fool, but how would I go about grabbing that in this method?

 

@SubscribeEvent
    public void tickEvent(PlayerTickEvent event) {
    	
    	
    	
    	double xmax = 10;
    	double xmin = -10;
    	double zmax = 10;
    	double zmin = -10;
    	
    	double bxmax = 15;
    	double bxmin = -15;
    	double bzmax = 15;
    	double bzmin = -15;
    	
    	if((event.player.posX >= xmax || event.player.posZ >= zmax) && (event.player.posX <= bxmax || event.player.posZ <= bzmax)) {
    		event.player.setGameType(GameType.SURVIVAL);
    	}
    	if((event.player.posX <= xmin || event.player.posZ <= zmin) && (event.player.posX >= bxmin || event.player.posZ >= bzmin)) {
    		event.player.setGameType(GameType.SURVIVAL);
    	}
    	
    	
    }

 

 

EDIT:

 

event.player.capabilities.isCreativeMode seemed to work just fine.

 

Thanks for helping me out you two :3

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Bottle Cap Torque Tester: Ensuring Precision in Packaging Integrity In the packaging industry, ensuring that containers are securely sealed is paramount for maintaining product quality and safety. One of the most critical components in this process is the bottle cap, which must be tightened to a precise torque to prevent leaks, contamination, or damage. The Bottle Cap Torque Tester by Pacorr is a high-precision instrument designed to test the opening and closing torque of bottle caps, ensuring the integrity of packaging. Importance of Torque Testing for Bottle Caps Torque is the rotational force applied to tighten or loosen a cap on a bottle. Too much torque can cause the cap or the neck of the bottle to break, while too little torque can result in leaks or tampered products. This is especially important for industries like pharmaceuticals, beverages, cosmetics, and chemicals, where any packaging failure can lead to significant financial loss and harm to consumers. The Bottle Cap Torque Tester Price ensures that every cap is perfectly tightened to the desired specification, preventing such issues and guaranteeing the safety and quality of the product inside. Key Features of Pacorr's Bottle Cap Torque Tester High Precision Measurement: The tester is designed to provide highly accurate torque readings for both capping and uncapping, giving manufacturers confidence in their packaging processes. Versatility: It can accommodate a wide range of bottle sizes and cap types, making it suitable for various industries, including beverages, pharmaceuticals, cosmetics, and more. Easy Operation: With an intuitive design, this machine allows for quick and easy testing, reducing the time needed for quality control checks. Digital Display: The digital readout provides clear, precise torque values, ensuring consistency in testing and improving the accuracy of results. Data Logging: Many models come equipped with data logging capabilities, allowing manufacturers to store and analyze torque measurements for future reference and quality assurance. Benefits of Using the Bottle Cap Torque Tester Improved Product Quality: By ensuring that caps are tightened to the correct torque, manufacturers can prevent leaks and maintain product freshness and safety. Compliance with Industry Standards: The tester helps manufacturers meet industry-specific regulations and standards, ensuring that their products are safe for consumers. Cost Savings: Preventing packaging failures reduces waste and avoids costly recalls, ultimately saving the company money. Enhanced Brand Reputation: Consistent quality control enhances consumer trust in the product, fostering a stronger brand reputation in the market. Applications in Various Industries Pharmaceuticals: In the pharmaceutical industry, packaging must be tamper-proof to ensure product safety. The Bottle Cap Torque Tester ensures that child-resistant caps are securely fastened, complying with safety regulations. Beverages: For carbonated drinks, the correct torque ensures the pressure inside the bottle is maintained without leaking. This helps maintain the product's taste and quality until it reaches the consumer. Cosmetics: Packaging for beauty products often requires precise torque control to ensure that liquids or creams do not leak, preventing product waste and enhancing the user experience. Food & Dairy: Food products need to be tightly sealed to maintain freshness. Incorrect torque can lead to spoilage and contamination, impacting the safety and quality of the food. Conclusion The Bottle Cap Torque Tester from Pacorr is an essential tool for industries where packaging integrity is critical. It helps manufacturers maintain high product quality, comply with regulations, and protect their brand reputation by ensuring that every bottle cap is perfectly sealed. Whether you're in the pharmaceutical, beverage, cosmetic, or food industry, the Bottle Cap Torque Tester is a must-have for efficient and accurate torque testing.
    • The mod is not exported,I'm writing the gradlew build command and it doesn't work. I'm doing the mod on macOS.
    • Asegúrate que tu mod sea de la misma versión que tu servidor si este mod no te funciona prueba otro https://www.curseforge.com/minecraft/search?class=mc-mods&page=1&pageSize=20&search=npc&sortBy=relevancy
    • https://modrinth.com/datapack/animated-doors https://www.spigotmc.org/resources/big-doors.58669/
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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