mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Androids now have a seperate category
This commit is contained in:
parent
2bead0cd3d
commit
4855f0da86
@ -46,6 +46,8 @@
|
||||
* Auto Disenchanting is now a tiny bit faster
|
||||
* Small performance improvements
|
||||
* Dried Kelp Blocks can now be used as fuel for Tier 1 Androids
|
||||
* Androids now have a seperate category in the Slimefun Guide
|
||||
* Android Interface recipes now require steel ingots
|
||||
|
||||
#### Fixes
|
||||
* Fixed Ore Washer recipes showing up twice
|
||||
@ -59,6 +61,7 @@
|
||||
* Fixed a missing texture in the Android Script Editor
|
||||
* Fixed #1992
|
||||
* Possibly fixed #1951
|
||||
* Fixed tab completion for /sf give showing players instead of amounts
|
||||
|
||||
## Release Candidate 12 (27 May 2020)
|
||||
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#12
|
||||
|
@ -1,6 +1,7 @@
|
||||
package io.github.thebusybiscuit.slimefun4.core.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@ -51,6 +52,9 @@ class SlimefunTabCompleter implements TabCompleter {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (args.length == 4 && args[0].equalsIgnoreCase("give")) {
|
||||
return createReturnList(Arrays.asList("1", "2", "4", "8", "16", "32", "64"), args[3]);
|
||||
}
|
||||
else {
|
||||
// Returning null will make it fallback to the default arguments (all online players)
|
||||
return null;
|
||||
|
@ -0,0 +1,41 @@
|
||||
package io.github.thebusybiscuit.slimefun4.implementation.items.androids;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
|
||||
/**
|
||||
* This enum covers all different fuel sources a {@link ProgrammableAndroid} can have.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
*/
|
||||
public enum AndroidFuelSource {
|
||||
|
||||
/**
|
||||
* This {@link ProgrammableAndroid} runs on solid fuel, e.g. Wood or coal
|
||||
*/
|
||||
SOLID("", "&rThis Android runs on solid Fuel", "&re.g. Coal, Wood, etc..."),
|
||||
|
||||
/**
|
||||
* This {@link ProgrammableAndroid} runs on liquid fuel, e.g. Fuel, Oil or Lava
|
||||
*/
|
||||
LIQUID("", "&rThis Android runs on liquid Fuel", "&re.g. Lava, Oil, Fuel, etc..."),
|
||||
|
||||
/**
|
||||
* This {@link ProgrammableAndroid} runs on nuclear fuel, e.g. Uranium
|
||||
*/
|
||||
NUCLEAR("", "&rThis Android runs on radioactive Fuel", "&re.g. Uranium, Neptunium or Boosted Uranium");
|
||||
|
||||
private final String[] lore;
|
||||
|
||||
private AndroidFuelSource(String... lore) {
|
||||
this.lore = lore;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return new CustomItem(SlimefunItems.COAL_GENERATOR, "&8\u21E9 &cFuel Input &8\u21E9", lore);
|
||||
}
|
||||
|
||||
}
|
@ -2,11 +2,9 @@ package io.github.thebusybiscuit.slimefun4.implementation.items.androids;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
@ -63,7 +61,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent
|
||||
private static final int[] OUTPUT_BORDER = { 10, 11, 12, 13, 14, 19, 23, 28, 32, 37, 38, 39, 40, 41 };
|
||||
private static final String DEFAULT_SCRIPT = "START-TURN_LEFT-REPEAT";
|
||||
|
||||
protected final Set<MachineFuel> fuelTypes = new HashSet<>();
|
||||
protected final List<MachineFuel> fuelTypes = new ArrayList<>();
|
||||
protected final String texture;
|
||||
|
||||
public ProgrammableAndroid(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||
@ -173,6 +171,25 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent
|
||||
*/
|
||||
public abstract AndroidType getAndroidType();
|
||||
|
||||
/**
|
||||
* This returns the {@link AndroidFuelSource} for this {@link ProgrammableAndroid}.
|
||||
* It determines what kind of fuel is required to run it.
|
||||
*
|
||||
* @return The required type of fuel
|
||||
*/
|
||||
public AndroidFuelSource getFuelSource() {
|
||||
switch (getTier()) {
|
||||
case 1:
|
||||
return AndroidFuelSource.SOLID;
|
||||
case 2:
|
||||
return AndroidFuelSource.LIQUID;
|
||||
case 3:
|
||||
return AndroidFuelSource.NUCLEAR;
|
||||
default:
|
||||
throw new IllegalStateException("Cannot convert the following Android tier to a fuel type: " + getTier());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preRegister() {
|
||||
super.preRegister();
|
||||
@ -533,7 +550,8 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent
|
||||
}
|
||||
|
||||
private void registerDefaultFuelTypes() {
|
||||
if (getTier() == 1) {
|
||||
switch (getFuelSource()) {
|
||||
case SOLID:
|
||||
registerFuelType(new MachineFuel(800, new ItemStack(Material.COAL_BLOCK)));
|
||||
registerFuelType(new MachineFuel(45, new ItemStack(Material.BLAZE_ROD)));
|
||||
registerFuelType(new MachineFuel(70, new ItemStack(Material.DRIED_KELP_BLOCK)));
|
||||
@ -551,16 +569,20 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent
|
||||
for (Material mat : Tag.PLANKS.getValues()) {
|
||||
registerFuelType(new MachineFuel(1, new ItemStack(mat)));
|
||||
}
|
||||
}
|
||||
else if (getTier() == 2) {
|
||||
|
||||
break;
|
||||
case LIQUID:
|
||||
registerFuelType(new MachineFuel(100, new ItemStack(Material.LAVA_BUCKET)));
|
||||
registerFuelType(new MachineFuel(200, SlimefunItems.BUCKET_OF_OIL));
|
||||
registerFuelType(new MachineFuel(500, SlimefunItems.BUCKET_OF_FUEL));
|
||||
}
|
||||
else {
|
||||
break;
|
||||
case NUCLEAR:
|
||||
registerFuelType(new MachineFuel(2500, SlimefunItems.URANIUM));
|
||||
registerFuelType(new MachineFuel(1200, SlimefunItems.NEPTUNIUM));
|
||||
registerFuelType(new MachineFuel(3000, SlimefunItems.BOOSTED_URANIUM));
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unhandled Fuel Source: " + getFuelSource());
|
||||
}
|
||||
}
|
||||
|
||||
@ -740,7 +762,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent
|
||||
if (fuel.test(item)) {
|
||||
menu.consumeItem(43);
|
||||
|
||||
if (getTier() == 2) {
|
||||
if (getFuelSource() == AndroidFuelSource.LIQUID) {
|
||||
menu.pushItem(new ItemStack(Material.BUCKET), getOutputSlots());
|
||||
}
|
||||
|
||||
@ -774,17 +796,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent
|
||||
});
|
||||
}
|
||||
|
||||
ItemStack generator = SlimefunUtils.getCustomHead("9343ce58da54c79924a2c9331cfc417fe8ccbbea9be45a7ac85860a6c730");
|
||||
|
||||
if (getTier() == 1) {
|
||||
preset.addItem(34, new CustomItem(generator, "&8\u21E9 &cFuel Input &8\u21E9", "", "&rThis Android runs on solid Fuel", "&re.g. Coal, Wood, etc..."), ChestMenuUtils.getEmptyClickHandler());
|
||||
}
|
||||
else if (getTier() == 2) {
|
||||
preset.addItem(34, new CustomItem(generator, "&8\u21E9 &cFuel Input &8\u21E9", "", "&rThis Android runs on liquid Fuel", "&re.g. Lava, Oil, Fuel, etc..."), ChestMenuUtils.getEmptyClickHandler());
|
||||
}
|
||||
else {
|
||||
preset.addItem(34, new CustomItem(generator, "&8\u21E9 &cFuel Input &8\u21E9", "", "&rThis Android runs on radioactive Fuel", "&re.g. Uranium, Neptunium or Boosted Uranium"), ChestMenuUtils.getEmptyClickHandler());
|
||||
}
|
||||
preset.addItem(34, getFuelSource().getItem(), ChestMenuUtils.getEmptyClickHandler());
|
||||
}
|
||||
|
||||
public void addItems(Block b, ItemStack... items) {
|
||||
|
@ -51,6 +51,7 @@ class DefaultCategories {
|
||||
|
||||
// Locked Categories
|
||||
protected final LockedCategory electricity = new LockedCategory(new NamespacedKey(SlimefunPlugin.instance, "electricity"), new CustomItem(SlimefunItems.NUCLEAR_REACTOR, "&bEnergy and Electricity"), 4, basicMachines.getKey());
|
||||
protected final LockedCategory androids = new LockedCategory(new NamespacedKey(SlimefunPlugin.instance, "androids"), new CustomItem(SlimefunItems.PROGRAMMABLE_ANDROID, "&cProgrammable Androids"), 4, basicMachines.getKey());
|
||||
protected final Category cargo = new LockedCategory(new NamespacedKey(SlimefunPlugin.instance, "cargo"), new CustomItem(SlimefunItems.CARGO_MANAGER, "&cCargo Management"), 4, basicMachines.getKey());
|
||||
protected final LockedCategory gps = new LockedCategory(new NamespacedKey(SlimefunPlugin.instance, "gps"), new CustomItem(SlimefunItems.GPS_TRANSMITTER, "&bGPS-based Machines"), 4, basicMachines.getKey());
|
||||
|
||||
|
@ -2169,7 +2169,15 @@ public final class SlimefunItemSetup {
|
||||
new ItemStack[] {null, SlimefunItems.ELECTRO_MAGNET, null, null, SlimefunItems.GPS_TRANSMITTER, null, null, SlimefunItems.ESSENCE_OF_AFTERLIFE, null})
|
||||
.register(plugin);
|
||||
|
||||
new ProgrammableAndroid(categories.electricity, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new SlimefunItem(categories.androids, SlimefunItems.ANDROID_INTERFACE_ITEMS, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.STEEL_INGOT, SlimefunItems.PLASTIC_SHEET, SlimefunItems.STEEL_INGOT, SlimefunItems.BASIC_CIRCUIT_BOARD, new ItemStack(Material.BLUE_STAINED_GLASS), SlimefunItems.PLASTIC_SHEET, SlimefunItems.STEEL_INGOT, SlimefunItems.PLASTIC_SHEET})
|
||||
.register(plugin);
|
||||
|
||||
new SlimefunItem(categories.androids, SlimefunItems.ANDROID_INTERFACE_FUEL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.STEEL_INGOT, SlimefunItems.PLASTIC_SHEET, new ItemStack(Material.RED_STAINED_GLASS), SlimefunItems.BASIC_CIRCUIT_BOARD, SlimefunItems.STEEL_INGOT, SlimefunItems.PLASTIC_SHEET, SlimefunItems.STEEL_INGOT, SlimefunItems.PLASTIC_SHEET})
|
||||
.register(plugin);
|
||||
|
||||
new ProgrammableAndroid(categories.androids, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.ANDROID_MEMORY_CORE, SlimefunItems.PLASTIC_SHEET, SlimefunItems.COAL_GENERATOR, SlimefunItems.ELECTRIC_MOTOR, new ItemStack(Material.CHEST), SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET}) {
|
||||
|
||||
@Override
|
||||
@ -2190,7 +2198,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new MinerAndroid(categories.electricity, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_MINER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new MinerAndroid(categories.androids, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_MINER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, null, null, new ItemStack(Material.DIAMOND_PICKAXE), SlimefunItems.PROGRAMMABLE_ANDROID, new ItemStack(Material.DIAMOND_PICKAXE), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2206,7 +2214,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new FarmerAndroid(categories.electricity, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_FARMER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new FarmerAndroid(categories.androids, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_FARMER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, null, null, new ItemStack(Material.DIAMOND_HOE), SlimefunItems.PROGRAMMABLE_ANDROID, new ItemStack(Material.DIAMOND_HOE), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2222,7 +2230,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new WoodcutterAndroid(categories.electricity, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_WOODCUTTER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new WoodcutterAndroid(categories.androids, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_WOODCUTTER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, null, null, new ItemStack(Material.DIAMOND_AXE), SlimefunItems.PROGRAMMABLE_ANDROID, new ItemStack(Material.DIAMOND_AXE), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2238,7 +2246,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new FisherAndroid(categories.electricity, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_FISHERMAN, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new FisherAndroid(categories.androids, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_FISHERMAN, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, null, null, new ItemStack(Material.FISHING_ROD), SlimefunItems.PROGRAMMABLE_ANDROID, new ItemStack(Material.FISHING_ROD), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2254,7 +2262,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new ButcherAndroid(categories.electricity, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_BUTCHER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ButcherAndroid(categories.androids, (SlimefunItemStack) SlimefunItems.PROGRAMMABLE_ANDROID_BUTCHER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, SlimefunItems.GPS_TRANSMITTER, null, new ItemStack(Material.DIAMOND_SWORD), SlimefunItems.PROGRAMMABLE_ANDROID, new ItemStack(Material.DIAMOND_SWORD), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2270,15 +2278,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new SlimefunItem(categories.electricity, SlimefunItems.ANDROID_INTERFACE_ITEMS, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.BASIC_CIRCUIT_BOARD, new ItemStack(Material.BLUE_STAINED_GLASS), SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET})
|
||||
.register(plugin);
|
||||
|
||||
new SlimefunItem(categories.electricity, SlimefunItems.ANDROID_INTERFACE_FUEL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, new ItemStack(Material.RED_STAINED_GLASS), SlimefunItems.BASIC_CIRCUIT_BOARD, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET, SlimefunItems.PLASTIC_SHEET})
|
||||
.register(plugin);
|
||||
|
||||
new ProgrammableAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_2, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ProgrammableAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_2, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.ANDROID_MEMORY_CORE, SlimefunItems.PLASTIC_SHEET, SlimefunItems.COMBUSTION_REACTOR, SlimefunItems.PROGRAMMABLE_ANDROID, new ItemStack(Material.CHEST), SlimefunItems.PLASTIC_SHEET, SlimefunItems.POWER_CRYSTAL, SlimefunItems.PLASTIC_SHEET}) {
|
||||
|
||||
@Override
|
||||
@ -2299,7 +2299,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new FisherAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_2_FISHERMAN, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new FisherAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_2_FISHERMAN, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, null, null, new ItemStack(Material.FISHING_ROD), SlimefunItems.PROGRAMMABLE_ANDROID_2, new ItemStack(Material.FISHING_ROD), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2315,7 +2315,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new ButcherAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_2_BUTCHER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ButcherAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_2_BUTCHER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, SlimefunItems.GPS_TRANSMITTER, null, new ItemStack(Material.DIAMOND_SWORD), SlimefunItems.PROGRAMMABLE_ANDROID_2, new ItemStack(Material.DIAMOND_SWORD), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2331,7 +2331,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new AdvancedFarmerAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_2_FARMER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new AdvancedFarmerAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_2_FARMER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, SlimefunItems.GPS_TRANSMITTER, null, new ItemStack(Material.DIAMOND_HOE), SlimefunItems.PROGRAMMABLE_ANDROID_2, new ItemStack(Material.DIAMOND_HOE), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2347,7 +2347,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new ProgrammableAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_3, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ProgrammableAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_3, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.PLASTIC_SHEET, SlimefunItems.ANDROID_MEMORY_CORE, SlimefunItems.PLASTIC_SHEET, SlimefunItems.NUCLEAR_REACTOR, SlimefunItems.PROGRAMMABLE_ANDROID_2, new ItemStack(Material.CHEST), SlimefunItems.BLISTERING_INGOT_3, SlimefunItems.POWER_CRYSTAL, SlimefunItems.BLISTERING_INGOT_3}) {
|
||||
|
||||
@Override
|
||||
@ -2368,7 +2368,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new FisherAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_3_FISHERMAN, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new FisherAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_3_FISHERMAN, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, null, null, new ItemStack(Material.FISHING_ROD), SlimefunItems.PROGRAMMABLE_ANDROID_3, new ItemStack(Material.FISHING_ROD), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
@ -2384,7 +2384,7 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
.register(plugin);
|
||||
|
||||
new ButcherAndroid(categories.electricity, SlimefunItems.PROGRAMMABLE_ANDROID_3_BUTCHER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ButcherAndroid(categories.androids, SlimefunItems.PROGRAMMABLE_ANDROID_3_BUTCHER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, SlimefunItems.GPS_TRANSMITTER_3, null, new ItemStack(Material.DIAMOND_SWORD), SlimefunItems.PROGRAMMABLE_ANDROID_3, new ItemStack(Material.DIAMOND_SWORD), null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ slimefun:
|
||||
food: 'Food'
|
||||
basic_machines: 'Basic Machines'
|
||||
electricity: 'Energy and Electricity'
|
||||
androids: 'Programmable Androids'
|
||||
gps: 'GPS-based Machines'
|
||||
armor: 'Armor'
|
||||
magical_items: 'Magical Items'
|
||||
|
Loading…
Reference in New Issue
Block a user