mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
[CI skip] Added new recipe type translations
This commit is contained in:
parent
242aba9352
commit
eb6140c7ed
@ -2746,7 +2746,7 @@ public final class SlimefunItemSetup {
|
||||
new ItemStack[] {null, null, null, null, SlimefunItems.BUCKET_OF_OIL, null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
new RadioactiveItem(Categories.RESOURCES, Radioactivity.MODERATE, (SlimefunItemStack) SlimefunItems.NETHER_ICE, new RecipeType(SlimefunItems.GEO_MINER),
|
||||
new RadioactiveItem(Categories.RESOURCES, Radioactivity.MODERATE, (SlimefunItemStack) SlimefunItems.NETHER_ICE, RecipeType.GEO_MINER,
|
||||
new ItemStack[] {null, null, null, null, null, null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
@ -3091,7 +3091,7 @@ public final class SlimefunItemSetup {
|
||||
|
||||
}.register(plugin);
|
||||
|
||||
new SlimefunItem(Categories.TECH_MISC, (SlimefunItemStack) SlimefunItems.REACTOR_COOLANT_CELL, new RecipeType(SlimefunItems.FREEZER),
|
||||
new SlimefunItem(Categories.TECH_MISC, (SlimefunItemStack) SlimefunItems.REACTOR_COOLANT_CELL, RecipeType.FREEZER,
|
||||
new ItemStack[] {new ItemStack(Material.BLUE_ICE), null, null, null, null, null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
@ -3099,11 +3099,11 @@ public final class SlimefunItemSetup {
|
||||
new ItemStack[] {SlimefunItems.ENRICHED_NETHER_ICE, null, null, null, null, null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
new RadioactiveItem(Categories.RESOURCES, Radioactivity.HIGH, (SlimefunItemStack) SlimefunItems.NEPTUNIUM, new RecipeType(SlimefunItems.NUCLEAR_REACTOR),
|
||||
new RadioactiveItem(Categories.RESOURCES, Radioactivity.HIGH, (SlimefunItemStack) SlimefunItems.NEPTUNIUM, RecipeType.NUCLEAR_REACTOR,
|
||||
new ItemStack[] {SlimefunItems.URANIUM, null, null, null, null, null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
new RadioactiveItem(Categories.RESOURCES, Radioactivity.VERY_HIGH, (SlimefunItemStack) SlimefunItems.PLUTONIUM, new RecipeType(SlimefunItems.NUCLEAR_REACTOR),
|
||||
new RadioactiveItem(Categories.RESOURCES, Radioactivity.VERY_HIGH, (SlimefunItemStack) SlimefunItems.PLUTONIUM, RecipeType.NUCLEAR_REACTOR,
|
||||
new ItemStack[] {SlimefunItems.NEPTUNIUM, null, null, null, null, null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
|
@ -2,13 +2,18 @@ package me.mrCookieSlime.Slimefun.Lists;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Keyed;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
@ -18,6 +23,7 @@ import io.github.thebusybiscuit.slimefun4.implementation.items.altar.AltarRecipe
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class RecipeType implements Keyed {
|
||||
@ -25,7 +31,6 @@ public class RecipeType implements Keyed {
|
||||
public static final RecipeType MULTIBLOCK = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "multiblock"), new CustomItem(Material.BRICKS, "&bMultiBlock", "", "&a&oBuild it in the World"));
|
||||
public static final RecipeType ARMOR_FORGE = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "armor_forge"), (SlimefunItemStack) SlimefunItems.ARMOR_FORGE, "", "&a&oCraft it in an Armor Forge");
|
||||
public static final RecipeType GRIND_STONE = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "grind_stone"), (SlimefunItemStack) SlimefunItems.GRIND_STONE, "", "&a&oGrind it using the Grind Stone");
|
||||
public static final RecipeType MOB_DROP = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "mob_drop"), new CustomItem(Material.IRON_SWORD, "&bMob Drop", "", "&a&oKill the specified Mob to obtain this Item"));
|
||||
public static final RecipeType SMELTERY = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "smeltery"), (SlimefunItemStack) SlimefunItems.SMELTERY, "", "&a&oSmelt it using a Smeltery");
|
||||
public static final RecipeType ORE_CRUSHER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "ore_crusher"), (SlimefunItemStack) SlimefunItems.ORE_CRUSHER, "", "&a&oCrush it using the Ore Crusher");
|
||||
public static final RecipeType GOLD_PAN = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "gold_pan"), (SlimefunItemStack) SlimefunItems.GOLD_PAN, "", "&a&oUse a Gold Pan on Gravel to obtain this Item");
|
||||
@ -39,11 +44,17 @@ public class RecipeType implements Keyed {
|
||||
public static final RecipeType ANCIENT_ALTAR = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "ancient_altar"), (SlimefunItemStack) SlimefunItems.ANCIENT_ALTAR, (recipe, output) -> {
|
||||
AltarRecipe altarRecipe = new AltarRecipe(Arrays.asList(recipe), output);
|
||||
SlimefunPlugin.getAncientAltarListener().getRecipes().add(altarRecipe);
|
||||
}, "", "&dYou will need to craft this Item", "&dby performing an Ancient Altar Ritual");
|
||||
});
|
||||
|
||||
public static final RecipeType HEATED_PRESSURE_CHAMBER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "heated_pressure_chamber"), (SlimefunItemStack) SlimefunItems.HEATED_PRESSURE_CHAMBER, "", "&a&oCraft this Item in a", "&a&oHeated Pressure Chamber");
|
||||
public static final RecipeType FOOD_FABRICATOR = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "food_fabricator"), (SlimefunItemStack) SlimefunItems.FOOD_FABRICATOR, "", "&a&oCraft this Item in a", "&a&oFood Fabricator");
|
||||
public static final RecipeType FOOD_COMPOSTER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "food_composter"), (SlimefunItemStack) SlimefunItems.FOOD_COMPOSTER, "", "&a&oCraft this Item in a", "&a&oFood Composter");
|
||||
public static final RecipeType MOB_DROP = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "mob_drop"), new CustomItem(Material.IRON_SWORD, "&bMob Drop"), RecipeType::registerMobDrop, "", "&rKill the specified Mob to obtain this Item");
|
||||
|
||||
public static final RecipeType HEATED_PRESSURE_CHAMBER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "heated_pressure_chamber"), (SlimefunItemStack) SlimefunItems.HEATED_PRESSURE_CHAMBER);
|
||||
public static final RecipeType FOOD_FABRICATOR = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "food_fabricator"), (SlimefunItemStack) SlimefunItems.FOOD_FABRICATOR);
|
||||
public static final RecipeType FOOD_COMPOSTER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "food_composter"), (SlimefunItemStack) SlimefunItems.FOOD_COMPOSTER);
|
||||
public static final RecipeType FREEZER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "freezer"), (SlimefunItemStack) SlimefunItems.FREEZER);
|
||||
|
||||
public static final RecipeType GEO_MINER = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "geo_miner"), (SlimefunItemStack) SlimefunItems.GEO_MINER);
|
||||
public static final RecipeType NUCLEAR_REACTOR = new RecipeType(new NamespacedKey(SlimefunPlugin.instance, "nuclear_reactor"), (SlimefunItemStack) SlimefunItems.NUCLEAR_REACTOR);
|
||||
|
||||
public static final RecipeType NULL = new RecipeType();
|
||||
|
||||
@ -74,11 +85,17 @@ public class RecipeType implements Keyed {
|
||||
this(key, slimefunItem, null, lore);
|
||||
}
|
||||
|
||||
public RecipeType(NamespacedKey key, SlimefunItemStack slimefunItem, BiConsumer<ItemStack[], ItemStack> callback, String... lore) {
|
||||
this.item = new CustomItem(slimefunItem, null, lore);
|
||||
this.machine = slimefunItem.getItemID();
|
||||
public RecipeType(NamespacedKey key, ItemStack item, BiConsumer<ItemStack[], ItemStack> callback, String... lore) {
|
||||
this.item = new CustomItem(item, null, lore);
|
||||
this.key = key;
|
||||
this.consumer = callback;
|
||||
|
||||
if (item instanceof SlimefunItemStack) {
|
||||
this.machine = ((SlimefunItemStack) item).getItemID();
|
||||
}
|
||||
else {
|
||||
this.machine = "";
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@ -114,6 +131,13 @@ public class RecipeType implements Keyed {
|
||||
if (consumer != null) {
|
||||
consumer.accept(recipe, result);
|
||||
}
|
||||
else {
|
||||
SlimefunItem slimefunItem = SlimefunItem.getByID(this.machine);
|
||||
|
||||
if (slimefunItem instanceof SlimefunMachine) {
|
||||
((SlimefunMachine) slimefunItem).addRecipe(recipe, result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ItemStack toItem() {
|
||||
@ -133,6 +157,21 @@ public class RecipeType implements Keyed {
|
||||
return key;
|
||||
}
|
||||
|
||||
private static void registerMobDrop(ItemStack[] recipe, ItemStack output) {
|
||||
String mob = null;
|
||||
|
||||
try {
|
||||
mob = ChatColor.stripColor(recipe[4].getItemMeta().getDisplayName()).toUpperCase().replace(' ', '_');
|
||||
EntityType entity = EntityType.valueOf(mob);
|
||||
Set<ItemStack> dropping = SlimefunPlugin.getRegistry().getMobDrops().getOrDefault(entity, new HashSet<>());
|
||||
dropping.add(output);
|
||||
SlimefunPlugin.getRegistry().getMobDrops().put(entity, dropping);
|
||||
}
|
||||
catch (Exception x) {
|
||||
Slimefun.getLogger().log(Level.WARNING, "An Exception occured when setting a Drop for the Mob Type: \"" + mob + "\"", x);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<ItemStack> getRecipeInputs(SlimefunMachine machine) {
|
||||
if (machine == null) return new ArrayList<>();
|
||||
List<ItemStack[]> recipes = machine.getRecipes();
|
||||
|
@ -104,6 +104,24 @@ slimefun:
|
||||
- 'Craft this Item as shown'
|
||||
- 'using a Food Composter'
|
||||
|
||||
freezer:
|
||||
name: 'Freezer'
|
||||
lore:
|
||||
- 'Craft this Item as shown'
|
||||
- 'using a Freezer'
|
||||
|
||||
geo_miner:
|
||||
name: 'GEO Miner'
|
||||
lore:
|
||||
- 'This Item can be gathered'
|
||||
- 'by using a GEO Miner'
|
||||
|
||||
nuclear_reactor:
|
||||
name: 'Nuclear Reactor'
|
||||
lore:
|
||||
- 'This Item is a byproduct'
|
||||
- 'of running a Nuclear Reactor'
|
||||
|
||||
minecraft:
|
||||
|
||||
shaped:
|
||||
|
Loading…
Reference in New Issue
Block a user