Fix Smelting not recognizing the new 1.17 smeltables (like raw ores)

This commit is contained in:
nossr50 2021-06-11 14:22:33 -07:00
parent 6ff37c8baa
commit 5f0cc2b09a
5 changed files with 10 additions and 8 deletions

View File

@ -66,8 +66,7 @@ public class InventoryListener implements Listener {
}
//Profile doesn't exist
if(UserManager.getOfflinePlayer(offlinePlayer) == null)
{
if(UserManager.getOfflinePlayer(offlinePlayer) == null) {
return;
}

View File

@ -57,7 +57,7 @@ public final class LocaleLoader {
*
* @return The properly formatted text component
*/
public static TextComponent getTextComponent(String key, Object... messageArguments) {
public static @NotNull TextComponent getTextComponent(@NotNull String key, Object... messageArguments) {
if (bundle == null) {
initialize();
}
@ -113,7 +113,7 @@ public final class LocaleLoader {
return string;
}
public static TextComponent formatComponent(String string, Object... messageArguments) {
public static @NotNull TextComponent formatComponent(@NotNull String string, Object... messageArguments) {
if (messageArguments != null) {
MessageFormat formatter = new MessageFormat("");
formatter.applyPattern(string.replace("'", "''"));

View File

@ -4,10 +4,12 @@ import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.mcMMO;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
public class Smelting {
protected static int getResourceXp(ItemStack smelting) {
return mcMMO.getModManager().isCustomOre(smelting.getType()) ? mcMMO.getModManager().getBlock(smelting.getType()).getSmeltingXpGain() : ExperienceConfig.getInstance().getXp(PrimarySkillType.SMELTING, smelting.getType());
public static int getSmeltXP(@NotNull ItemStack smelting) {
return ExperienceConfig.getInstance().getXp(PrimarySkillType.SMELTING, smelting.getType());
}
}

View File

@ -113,7 +113,7 @@ public class SmeltingManager extends SkillManager {
}
public void smeltProcessing(@NotNull FurnaceSmeltEvent furnaceSmeltEvent, @NotNull Furnace furnace) {
applyXpGain(Smelting.getResourceXp(furnaceSmeltEvent.getSource()), XPGainReason.PVE, XPGainSource.PASSIVE); //Add XP
applyXpGain(Smelting.getSmeltXP(furnaceSmeltEvent.getSource()), XPGainReason.PVE, XPGainSource.PASSIVE); //Add XP
processDoubleSmelt(furnaceSmeltEvent, furnace);
}

View File

@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.treasure.EnchantmentWrapper;
import com.gmail.nossr50.datatypes.treasure.FishingTreasureBook;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.skills.smelting.Smelting;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
@ -340,7 +341,7 @@ public final class ItemUtils {
}
public static boolean isSmeltable(ItemStack item) {
return item != null && item.getType().isBlock() && MaterialUtils.isOre(item.getType());
return item != null && Smelting.getSmeltXP(item) >= 1;
}
public static boolean isSmelted(ItemStack item) {