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 configurable
This commit is contained in:
		@@ -194,6 +194,13 @@ Version 2.2.0
 | 
				
			|||||||
    Added API method to grab the level cap of a skill by its PrimarySkillType ENUM definition
 | 
					    Added API method to grab the level cap of a skill by its PrimarySkillType ENUM definition
 | 
				
			||||||
    Added API method to check if a skill was being level capped
 | 
					    Added API method to check if a skill was being level capped
 | 
				
			||||||
    Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill
 | 
					    Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill
 | 
				
			||||||
 | 
					Version 2.1.85
 | 
				
			||||||
 | 
					    Fixed a nearly 6 year old bug where Super Repair was not included as a child permission under Repair ability permission nodes (which meant some players would not have access to this skill)
 | 
				
			||||||
 | 
					    Fixed a bug that could prevent salvage from working for certain players
 | 
				
			||||||
 | 
					    Renamed the advanced salvage permission node to 'mcmmo.ability.salvage.scrapcollector'
 | 
				
			||||||
 | 
					    Fixed a bug that would send players skill unlock notifications if they did not have the permission node for that skill
 | 
				
			||||||
 | 
					    Dramatically increased the chance of receiving full materials when salvaging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 2.1.84
 | 
					Version 2.1.84
 | 
				
			||||||
    Added some code to make mcMMO more compatible with EpicSpawners
 | 
					    Added some code to make mcMMO more compatible with EpicSpawners
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -112,21 +112,21 @@ public class SalvageManager extends SkillManager {
 | 
				
			|||||||
        //Lottery on Salvageable Amount
 | 
					        //Lottery on Salvageable Amount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        int lotteryResults = 1;
 | 
					        int lotteryResults = 1;
 | 
				
			||||||
        int chanceOfSuccess = 80;
 | 
					        int chanceOfSuccess = 99;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for(int x = 1; x < salvageableAmount-1; x++) {
 | 
					        for(int x = 0; x < salvageableAmount-1; x++) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(RandomChanceUtil.rollDice(chanceOfSuccess, 100)) {
 | 
					            if(RandomChanceUtil.rollDice(chanceOfSuccess, 100)) {
 | 
				
			||||||
                chanceOfSuccess-=20;
 | 
					                chanceOfSuccess-=2;
 | 
				
			||||||
                Math.max(chanceOfSuccess, 33);
 | 
					                Math.max(chanceOfSuccess, 95);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                lotteryResults+=1;
 | 
					                lotteryResults+=1;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(lotteryResults == salvageableAmount) {
 | 
					        if(lotteryResults == salvageableAmount && salvageableAmount != 1) {
 | 
				
			||||||
            mcMMO.getNotificationManager().sendPlayerInformationChatOnly(player, "Salvage.Skills.Lottery.Perfect", String.valueOf(lotteryResults), StringUtils.getPrettyItemString(item.getType()));
 | 
					            mcMMO.getNotificationManager().sendPlayerInformationChatOnly(player, "Salvage.Skills.Lottery.Perfect", String.valueOf(lotteryResults), StringUtils.getPrettyItemString(item.getType()));
 | 
				
			||||||
        } else if(RankUtils.isPlayerMaxRankInSubSkill(player, SubSkillType.SALVAGE_ARCANE_SALVAGE)) {
 | 
					        } else if(RankUtils.isPlayerMaxRankInSubSkill(player, SubSkillType.SALVAGE_ARCANE_SALVAGE) || salvageableAmount == 1) {
 | 
				
			||||||
            mcMMO.getNotificationManager().sendPlayerInformationChatOnly(player,  "Salvage.Skills.Lottery.Normal", String.valueOf(lotteryResults), StringUtils.getPrettyItemString(item.getType()));
 | 
					            mcMMO.getNotificationManager().sendPlayerInformationChatOnly(player,  "Salvage.Skills.Lottery.Normal", String.valueOf(lotteryResults), StringUtils.getPrettyItemString(item.getType()));
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            mcMMO.getNotificationManager().sendPlayerInformationChatOnly(player,  "Salvage.Skills.Lottery.Untrained", String.valueOf(lotteryResults), StringUtils.getPrettyItemString(item.getType()));
 | 
					            mcMMO.getNotificationManager().sendPlayerInformationChatOnly(player,  "Salvage.Skills.Lottery.Untrained", String.valueOf(lotteryResults), StringUtils.getPrettyItemString(item.getType()));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,7 @@ import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
 | 
				
			|||||||
import com.gmail.nossr50.listeners.InteractionManager;
 | 
					import com.gmail.nossr50.listeners.InteractionManager;
 | 
				
			||||||
import com.gmail.nossr50.mcMMO;
 | 
					import com.gmail.nossr50.mcMMO;
 | 
				
			||||||
import com.gmail.nossr50.runnables.skills.SkillUnlockNotificationTask;
 | 
					import com.gmail.nossr50.runnables.skills.SkillUnlockNotificationTask;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.util.Permissions;
 | 
				
			||||||
import com.gmail.nossr50.util.player.UserManager;
 | 
					import com.gmail.nossr50.util.player.UserManager;
 | 
				
			||||||
import com.google.common.reflect.TypeToken;
 | 
					import com.google.common.reflect.TypeToken;
 | 
				
			||||||
import ninja.leaping.configurate.commented.CommentedConfigurationNode;
 | 
					import ninja.leaping.configurate.commented.CommentedConfigurationNode;
 | 
				
			||||||
@@ -39,6 +40,10 @@ public class RankUtils {
 | 
				
			|||||||
            if (innerMap == null || innerMap.get(playerRankInSkill) == null)
 | 
					            if (innerMap == null || innerMap.get(playerRankInSkill) == null)
 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //Don't send notifications if the player lacks the permission node
 | 
				
			||||||
 | 
					            if(!Permissions.isSubSkillEnabled(mcMMOPlayer.getPlayer(), subSkillType))
 | 
				
			||||||
 | 
					                continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //The players level is the exact level requirement for this skill
 | 
					            //The players level is the exact level requirement for this skill
 | 
				
			||||||
            if (newLevel == innerMap.get(playerRankInSkill)) {
 | 
					            if (newLevel == innerMap.get(playerRankInSkill)) {
 | 
				
			||||||
                SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mcMMOPlayer, subSkillType, newLevel);
 | 
					                SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mcMMOPlayer, subSkillType, newLevel);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -445,6 +445,7 @@ permissions:
 | 
				
			|||||||
        description: Allows access to all Repair abilities
 | 
					        description: Allows access to all Repair abilities
 | 
				
			||||||
        children:
 | 
					        children:
 | 
				
			||||||
            mcmmo.ability.repair.arcaneforging: true
 | 
					            mcmmo.ability.repair.arcaneforging: true
 | 
				
			||||||
 | 
					            mcmmo.ability.repair.superrepair: true
 | 
				
			||||||
            mcmmo.ability.repair.repairbonus: true
 | 
					            mcmmo.ability.repair.repairbonus: true
 | 
				
			||||||
            mcmmo.ability.repair.repairmastery: true
 | 
					            mcmmo.ability.repair.repairmastery: true
 | 
				
			||||||
    mcmmo.ability.repair.arcaneforging:
 | 
					    mcmmo.ability.repair.arcaneforging:
 | 
				
			||||||
@@ -461,10 +462,10 @@ permissions:
 | 
				
			|||||||
    mcmmo.ability.salvage.all:
 | 
					    mcmmo.ability.salvage.all:
 | 
				
			||||||
        description: Allows access to all Smelting abilities
 | 
					        description: Allows access to all Smelting abilities
 | 
				
			||||||
        children:
 | 
					        children:
 | 
				
			||||||
            mcmmo.ability.salvage.advancedsalvage: true
 | 
					            mcmmo.ability.salvage.scrapcollector: true
 | 
				
			||||||
            mcmmo.ability.salvage.arcanesalvage: true
 | 
					            mcmmo.ability.salvage.arcanesalvage: true
 | 
				
			||||||
    mcmmo.ability.salvage.advancedsalvage:
 | 
					    mcmmo.ability.salvage.scrapcollector:
 | 
				
			||||||
        description: Allows access to the Advanced Salvage ability
 | 
					        description: Allows access to the Scrap Collector ability
 | 
				
			||||||
    mcmmo.ability.salvage.arcanesalvage:
 | 
					    mcmmo.ability.salvage.arcanesalvage:
 | 
				
			||||||
        description: Allows access to the Arcane Salvage ability
 | 
					        description: Allows access to the Arcane Salvage ability
 | 
				
			||||||
    mcmmo.ability.smelting.*:
 | 
					    mcmmo.ability.smelting.*:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user