mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 02:53:43 +01:00 
			
		
		
		
	Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into tridentsxbows
This commit is contained in:
		@@ -97,6 +97,24 @@ Version 2.2.000
 | 
				
			|||||||
    Parties got unnecessarily complex in my absence, I have removed many party features in order to simplify parties and bring them closer to my vision. I have also added new features which should improve parties where it matters.
 | 
					    Parties got unnecessarily complex in my absence, I have removed many party features in order to simplify parties and bring them closer to my vision. I have also added new features which should improve parties where it matters.
 | 
				
			||||||
    About the removed party features, all the features I removed I consider poor quality features and I don't think they belong in mcMMO. Feel free to yell at me in discord if you disagree.
 | 
					    About the removed party features, all the features I removed I consider poor quality features and I don't think they belong in mcMMO. Feel free to yell at me in discord if you disagree.
 | 
				
			||||||
    I don't know what genius decided to make parties public by default, when I found out that parties had been changed to such a system I could barely contain my disgust. Parties are back to being private, you get invited by a party leader or party officer. That is the only way to join a party.
 | 
					    I don't know what genius decided to make parties public by default, when I found out that parties had been changed to such a system I could barely contain my disgust. Parties are back to being private, you get invited by a party leader or party officer. That is the only way to join a party.
 | 
				
			||||||
 | 
					Version 2.1.163
 | 
				
			||||||
 | 
					    Fixed the translate URL pointing to the wrong place (thanks chew)
 | 
				
			||||||
 | 
					    Fixed a bug where FlatFile databases would always attempt a UUID conversion task every save operation (every 10 minutes) causing console spam
 | 
				
			||||||
 | 
					    mcMMO will no longer throw errors when incoming XP is below 0 (it will just silently cancel the operation)
 | 
				
			||||||
 | 
					    COTW Summoned entities are now removed when the chunk they are in is unloaded (prevents some exploits)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    NOTES:
 | 
				
			||||||
 | 
					    I often test in SQL environments so I missed this bug, reminder to come bother me on discord if you find any annoying bugs!
 | 
				
			||||||
 | 
					    Also work on T&C is going great lately, I feel great. Perhaps my depression is getting better!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version 2.1.162
 | 
				
			||||||
 | 
					    Fixed a bug where Alchemy brew events were processed after setting brew results (thanks Wolf2323)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version 2.1.161
 | 
				
			||||||
 | 
					    Fixed a bug where a bunch of text from mcMMO was never being sent and or being sent as blank messages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    NOTES:
 | 
				
			||||||
 | 
					    Adventure (the chat library we use) had an update that required shading in another new module, but there were no errors thrown without running a jvm debug flag and testing it, which is why I missed it. I also missed it because I don't read update notes very closely
 | 
				
			||||||
Version 2.1.160
 | 
					Version 2.1.160
 | 
				
			||||||
    Fixed another 9+ year old exploit
 | 
					    Fixed another 9+ year old exploit
 | 
				
			||||||
    Silenced a harmless "error" related to Rupture/Bleed often produced when using mcMMO and crazy enchantments together
 | 
					    Silenced a harmless "error" related to Rupture/Bleed often produced when using mcMMO and crazy enchantments together
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								pom.xml
									
									
									
									
									
								
							@@ -115,6 +115,7 @@
 | 
				
			|||||||
                            <include>net.kyori:adventure-text-serializer-legacy</include>
 | 
					                            <include>net.kyori:adventure-text-serializer-legacy</include>
 | 
				
			||||||
                            <include>net.kyori:adventure-text-serializer-bungeecord</include>
 | 
					                            <include>net.kyori:adventure-text-serializer-bungeecord</include>
 | 
				
			||||||
                            <include>net.kyori:adventure-text-serializer-craftbukkit</include>
 | 
					                            <include>net.kyori:adventure-text-serializer-craftbukkit</include>
 | 
				
			||||||
 | 
					                            <include>net.kyori:adventure-text-serializer-gson-legacy-impl</include>
 | 
				
			||||||
                            <include>co.aikar:acf-bukkit</include>
 | 
					                            <include>co.aikar:acf-bukkit</include>
 | 
				
			||||||
                            <include>com.neetgames:mcMMO-API</include>
 | 
					                            <include>com.neetgames:mcMMO-API</include>
 | 
				
			||||||
                            <include>com.neetgames:jmal</include>
 | 
					                            <include>com.neetgames:jmal</include>
 | 
				
			||||||
@@ -123,6 +124,10 @@
 | 
				
			|||||||
                    </artifactSet>
 | 
					                    </artifactSet>
 | 
				
			||||||
<!--                    <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>-->
 | 
					<!--                    <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>-->
 | 
				
			||||||
                    <relocations>
 | 
					                    <relocations>
 | 
				
			||||||
 | 
					                        <relocation>
 | 
				
			||||||
 | 
					                            <pattern>net.kyori.adventure</pattern>
 | 
				
			||||||
 | 
					                            <shadedPattern>com.gmail.nossr50.mcmmo.kyori.adventure</shadedPattern>
 | 
				
			||||||
 | 
					                        </relocation>
 | 
				
			||||||
                        <relocation>
 | 
					                        <relocation>
 | 
				
			||||||
                            <pattern>com.neetgames.neetlib</pattern>
 | 
					                            <pattern>com.neetgames.neetlib</pattern>
 | 
				
			||||||
                            <shadedPattern>com.gmail.nossr50.neetlib</shadedPattern>
 | 
					                            <shadedPattern>com.gmail.nossr50.neetlib</shadedPattern>
 | 
				
			||||||
@@ -147,10 +152,6 @@
 | 
				
			|||||||
                            <pattern>org.apache.tomcat</pattern>
 | 
					                            <pattern>org.apache.tomcat</pattern>
 | 
				
			||||||
                            <shadedPattern>com.gmail.nossr50.mcmmo.database.tomcat</shadedPattern>
 | 
					                            <shadedPattern>com.gmail.nossr50.mcmmo.database.tomcat</shadedPattern>
 | 
				
			||||||
                        </relocation>
 | 
					                        </relocation>
 | 
				
			||||||
                        <relocation>
 | 
					 | 
				
			||||||
                            <pattern>net.kyori.adventure</pattern>
 | 
					 | 
				
			||||||
                            <shadedPattern>com.gmail.nossr50.mcmmo.kyori.adventure</shadedPattern>
 | 
					 | 
				
			||||||
                        </relocation>
 | 
					 | 
				
			||||||
                        <relocation>
 | 
					                        <relocation>
 | 
				
			||||||
                            <pattern>org.bstats</pattern>
 | 
					                            <pattern>org.bstats</pattern>
 | 
				
			||||||
                            <shadedPattern>com.gmail.nossr50.mcmmo.metrics.bstat</shadedPattern>
 | 
					                            <shadedPattern>com.gmail.nossr50.mcmmo.metrics.bstat</shadedPattern>
 | 
				
			||||||
@@ -229,17 +230,17 @@
 | 
				
			|||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>net.kyori</groupId>
 | 
					            <groupId>net.kyori</groupId>
 | 
				
			||||||
            <artifactId>adventure-text-serializer-gson</artifactId>
 | 
					            <artifactId>adventure-text-serializer-gson</artifactId>
 | 
				
			||||||
            <version>4.3.0-SNAPSHOT</version>
 | 
					            <version>4.3.0</version>
 | 
				
			||||||
        </dependency>
 | 
					        </dependency>
 | 
				
			||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>net.kyori</groupId>
 | 
					            <groupId>net.kyori</groupId>
 | 
				
			||||||
            <artifactId>adventure-api</artifactId>
 | 
					            <artifactId>adventure-api</artifactId>
 | 
				
			||||||
            <version>4.2.0</version>
 | 
					            <version>4.3.0</version>
 | 
				
			||||||
        </dependency>
 | 
					        </dependency>
 | 
				
			||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>net.kyori</groupId>
 | 
					            <groupId>net.kyori</groupId>
 | 
				
			||||||
            <artifactId>adventure-nbt</artifactId>
 | 
					            <artifactId>adventure-nbt</artifactId>
 | 
				
			||||||
            <version>4.2.0-SNAPSHOT</version>
 | 
					            <version>4.3.0</version>
 | 
				
			||||||
        </dependency>
 | 
					        </dependency>
 | 
				
			||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>net.kyori</groupId>
 | 
					            <groupId>net.kyori</groupId>
 | 
				
			||||||
@@ -256,6 +257,11 @@
 | 
				
			|||||||
            <artifactId>adventure-platform-common</artifactId>
 | 
					            <artifactId>adventure-platform-common</artifactId>
 | 
				
			||||||
            <version>4.0.0-SNAPSHOT</version>
 | 
					            <version>4.0.0-SNAPSHOT</version>
 | 
				
			||||||
        </dependency>
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>net.kyori</groupId>
 | 
				
			||||||
 | 
					            <artifactId>adventure-text-serializer-gson-legacy-impl</artifactId>
 | 
				
			||||||
 | 
					            <version>4.3.0</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>org.apache.maven.scm</groupId>
 | 
					            <groupId>org.apache.maven.scm</groupId>
 | 
				
			||||||
            <artifactId>maven-scm-provider-gitexe</artifactId>
 | 
					            <artifactId>maven-scm-provider-gitexe</artifactId>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -125,8 +125,6 @@ public class ExperienceManager {
 | 
				
			|||||||
     * @param xp Experience amount to process
 | 
					     * @param xp Experience amount to process
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public void beginXpGain(@NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) {
 | 
					    public void beginXpGain(@NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) {
 | 
				
			||||||
        Validate.isTrue(xp >= 0.0, "XP gained should be greater than or equal to zero.");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (xp <= 0.0) {
 | 
					        if (xp <= 0.0) {
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@ public class McMMOUrl {
 | 
				
			|||||||
    public static final String urlPatreon   = "https://www.patreon.com/nossr50";
 | 
					    public static final String urlPatreon   = "https://www.patreon.com/nossr50";
 | 
				
			||||||
    public static final String urlWiki      = "https://www.mcmmo.org/wiki/";
 | 
					    public static final String urlWiki      = "https://www.mcmmo.org/wiki/";
 | 
				
			||||||
    public static final String urlSpigot    = "http://spigot.mcmmo.org";
 | 
					    public static final String urlSpigot    = "http://spigot.mcmmo.org";
 | 
				
			||||||
    public static final String urlTranslate = "https://www.mcmmo.org/translate/";
 | 
					    public static final String urlTranslate = "https://translate.mcmmo.org/";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static String getUrl(McMMOWebLinks webLinks)
 | 
					    public static String getUrl(McMMOWebLinks webLinks)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										30
									
								
								src/main/java/com/gmail/nossr50/listeners/ChunkListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/main/java/com/gmail/nossr50/listeners/ChunkListener.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					package com.gmail.nossr50.listeners;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.gmail.nossr50.mcMMO;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.util.compat.layers.persistentdata.MobMetaFlagType;
 | 
				
			||||||
 | 
					import org.bukkit.entity.Entity;
 | 
				
			||||||
 | 
					import org.bukkit.entity.LivingEntity;
 | 
				
			||||||
 | 
					import org.bukkit.event.EventHandler;
 | 
				
			||||||
 | 
					import org.bukkit.event.Listener;
 | 
				
			||||||
 | 
					import org.bukkit.event.world.ChunkUnloadEvent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ChunkListener implements Listener {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @EventHandler(ignoreCancelled = true)
 | 
				
			||||||
 | 
					    public void onChunkUnload(ChunkUnloadEvent event) {
 | 
				
			||||||
 | 
					        for(Entity entity : event.getChunk().getEntities()) {
 | 
				
			||||||
 | 
					            if(entity instanceof LivingEntity) {
 | 
				
			||||||
 | 
					                LivingEntity livingEntity = (LivingEntity) entity;
 | 
				
			||||||
 | 
					                if(mcMMO.getCompatibilityManager().getPersistentDataLayer().hasMobFlag(MobMetaFlagType.COTW_SUMMONED_MOB, livingEntity)) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    //Remove from existence
 | 
				
			||||||
 | 
					                    if(livingEntity.isValid()) {
 | 
				
			||||||
 | 
					                        mcMMO.getCompatibilityManager().getPersistentDataLayer().removeMobFlags(livingEntity);
 | 
				
			||||||
 | 
					                        livingEntity.setHealth(0);
 | 
				
			||||||
 | 
					                        livingEntity.remove();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -559,6 +559,7 @@ public class mcMMO extends JavaPlugin {
 | 
				
			|||||||
        pluginManager.registerEvents(new InventoryListener(this), this);
 | 
					        pluginManager.registerEvents(new InventoryListener(this), this);
 | 
				
			||||||
        pluginManager.registerEvents(new SelfListener(this), this);
 | 
					        pluginManager.registerEvents(new SelfListener(this), this);
 | 
				
			||||||
        pluginManager.registerEvents(new WorldListener(this), this);
 | 
					        pluginManager.registerEvents(new WorldListener(this), this);
 | 
				
			||||||
 | 
					        pluginManager.registerEvents(new ChunkListener(), this);
 | 
				
			||||||
//        pluginManager.registerEvents(new CommandListener(this), this);
 | 
					//        pluginManager.registerEvents(new CommandListener(this), this);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -102,6 +102,7 @@ public class UUIDUpdateAsyncTask implements Runnable {
 | 
				
			|||||||
        if (position == userNames.size()) {
 | 
					        if (position == userNames.size()) {
 | 
				
			||||||
            mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS);
 | 
					            mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS);
 | 
				
			||||||
            awaiter.countDown();
 | 
					            awaiter.countDown();
 | 
				
			||||||
 | 
					            plugin.getLogger().info("UUID checks completed");
 | 
				
			||||||
        } else
 | 
					        } else
 | 
				
			||||||
            this.runTaskLaterAsynchronously(plugin, Misc.TICK_CONVERSION_FACTOR * DELAY_PERIOD); // Schedule next batch
 | 
					            this.runTaskLaterAsynchronously(plugin, Misc.TICK_CONVERSION_FACTOR * DELAY_PERIOD); // Schedule next batch
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -113,6 +113,7 @@ public final class AlchemyPotionBrewer {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        List<AlchemyPotion> inputList = new ArrayList<>();
 | 
					        List<AlchemyPotion> inputList = new ArrayList<>();
 | 
				
			||||||
 | 
					        ItemStack[] outputList = new ItemStack[3];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (int i = 0; i < 3; i++) {
 | 
					        for (int i = 0; i < 3; i++) {
 | 
				
			||||||
            ItemStack item = inventory.getItem(i);
 | 
					            ItemStack item = inventory.getItem(i);
 | 
				
			||||||
@@ -127,7 +128,7 @@ public final class AlchemyPotionBrewer {
 | 
				
			|||||||
            inputList.add(input);
 | 
					            inputList.add(input);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (output != null) {
 | 
					            if (output != null) {
 | 
				
			||||||
                inventory.setItem(i, output.toItemStack(item.getAmount()).clone());
 | 
					                outputList[i] = output.toItemStack(item.getAmount()).clone();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -138,6 +139,12 @@ public final class AlchemyPotionBrewer {
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (int i = 0; i < 3; i++) {
 | 
				
			||||||
 | 
					            if(outputList[i] != null) {
 | 
				
			||||||
 | 
					                inventory.setItem(i, outputList[i]);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        removeIngredient(inventory, player);
 | 
					        removeIngredient(inventory, player);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (AlchemyPotion input : inputList) {
 | 
					        for (AlchemyPotion input : inputList) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -570,6 +570,7 @@ public class TamingManager extends SkillManager {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                //Remove from existence
 | 
					                //Remove from existence
 | 
				
			||||||
                if(livingEntity != null && livingEntity.isValid()) {
 | 
					                if(livingEntity != null && livingEntity.isValid()) {
 | 
				
			||||||
 | 
					                    mcMMO.getCompatibilityManager().getPersistentDataLayer().removeMobFlags(livingEntity);
 | 
				
			||||||
                    livingEntity.setHealth(0);
 | 
					                    livingEntity.setHealth(0);
 | 
				
			||||||
                    livingEntity.remove();
 | 
					                    livingEntity.remove();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,3 +11,4 @@ Upgrades_Finished:
 | 
				
			|||||||
    FIX_SPELLING_NETHERITE_REPAIR: false
 | 
					    FIX_SPELLING_NETHERITE_REPAIR: false
 | 
				
			||||||
    FIX_NETHERITE_SALVAGE_QUANTITIES: false
 | 
					    FIX_NETHERITE_SALVAGE_QUANTITIES: false
 | 
				
			||||||
    ADD_SQL_2_2: false
 | 
					    ADD_SQL_2_2: false
 | 
				
			||||||
 | 
					    ADD_UUIDS: false
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user