Jump to content

How to make items use up your XP bar? (1.14.4)


Babelincoln1809

Recommended Posts

4 minutes ago, Babelincoln1809 said:

I'm just trying to locate where the XP data stuff is, so when I swing a certain sword, it uses some of the XP up. 

It's stored right in the PlayerEntity class. Specifically PlayerEntity::giveExperiencePoints

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

10 minutes ago, Babelincoln1809 said:

A bit confusing on how I can get it to work, but I'm figuring it out. Thank you!

Assuming you have a PlayerEntity instance called player.

 

player.giveExperiencePoints(-10);

This will remove 10 experience points from the player.

 

player.addExperienceLevel(-1);

This will remove one level from the player.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

18 minutes ago, Animefan8888 said:

Assuming you have a PlayerEntity instance called player.

 

player.giveExperiencePoints(-10);

This will remove 10 experience points from the player.

 

player.addExperienceLevel(-1);

This will remove one level from the player.

More so when I swing the weapon, it does the removal, and when there's no XP, the weapon can't swing anymore. I really suck at doing multiple methods, like it's the one thing I truly struggle with

Link to comment
Share on other sites

2 minutes ago, Babelincoln1809 said:

I really suck at doing multiple methods, like it's the one thing I truly struggle with

That basically sums up Java (or any object-oriented programming). If you are struggling to do this, then you might want to get more familiar with Java before making a mod.

 

4 minutes ago, Babelincoln1809 said:

More so when I swing the weapon, it does the removal, and when there's no XP, the weapon can't swing anymore.

Check out LivingAttackEvent. You can check if the player has enough XP (and remove it). If not, cancel the event.

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

17 hours ago, Animefan8888 said:

Assuming you have a PlayerEntity instance called player.

 

player.giveExperiencePoints(-10);

This will remove 10 experience points from the player.

 

player.addExperienceLevel(-1);

This will remove one level from the player.

Yeah, anything I'm doing is not draining the XP. I dunno if it's not recognizing it when I swing or not

Link to comment
Share on other sites

2 hours ago, Babelincoln1809 said:

Yeah, anything I'm doing is not draining the XP. I dunno if it's not recognizing it when I swing or not

Post your updated code.

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

1.

Quote

entity.isSwingInProgress = true

This will always be true. Single equal ( = ) sign is for assignment, not comparison.

2. You've never called xpSwing() at all. It will never be used, therefore not reducing the experience bar (or make anything happen).

3. If you want to make a sword, extend SwordItem. There is no reason to copy-paste everything from vanilla classes.

Edited by DavidM

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

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.