mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
A few additional changes
This commit is contained in:
parent
57b3f06aa6
commit
66fa277014
@ -33,6 +33,7 @@
|
||||
* Added "Red Sand -> Red Sandstone" recipe to the Electric Press
|
||||
* Industrial Miners can now also mine Gilded Blackstone
|
||||
* Added a config option to disable Players from burning when exposed to radiation
|
||||
* Added Rune of Unemployment
|
||||
|
||||
#### Changes
|
||||
* Performance improvement for Programmable Android rotations
|
||||
|
@ -361,7 +361,6 @@ public final class SlimefunItems {
|
||||
public static final SlimefunItemStack MAGICAL_ZOMBIE_PILLS = new SlimefunItemStack("MAGICAL_ZOMBIE_PILLS", Material.NETHER_WART, "&6Magical Zombie Pills", "", "&eRight Click &7a Zombified Villager to", "&7instantly cure it from its curse");
|
||||
public static final SlimefunItemStack MAGICAL_GLASS = new SlimefunItemStack("MAGICAL_GLASS", Material.GLASS_PANE, "&6Magical Glass", "", "&a&oUsed for various Magical Gadgets");
|
||||
public static final SlimefunItemStack BASIC_CIRCUIT_BOARD = new SlimefunItemStack("BASIC_CIRCUIT_BOARD", Material.ACTIVATOR_RAIL, "&bBasic Circuit Board");
|
||||
public static final SlimefunItemStack ORGANIC_NETHER_GOO = new SlimefunItemStack("ORGANIC_NETHER_GOO", Material.BROWN_DYE, "&6Organic Nether Goo");
|
||||
public static final SlimefunItemStack ADVANCED_CIRCUIT_BOARD = new SlimefunItemStack("ADVANCED_CIRCUIT_BOARD", Material.POWERED_RAIL, "&bAdvanced Circuit Board");
|
||||
public static final SlimefunItemStack WHEAT_FLOUR = new SlimefunItemStack("WHEAT_FLOUR", Material.SUGAR, "&fWheat Flour");
|
||||
public static final SlimefunItemStack STEEL_PLATE = new SlimefunItemStack("STEEL_PLATE", Material.PAPER, "&7&lSteel Plate");
|
||||
@ -392,6 +391,7 @@ public final class SlimefunItems {
|
||||
public static final SlimefunItemStack MAGNET = new SlimefunItemStack("MAGNET", HeadTexture.MAGNET, "&cMagnet");
|
||||
public static final SlimefunItemStack NECROTIC_SKULL = new SlimefunItemStack("NECROTIC_SKULL", Material.WITHER_SKELETON_SKULL, "&cNecrotic Skull");
|
||||
public static final SlimefunItemStack ESSENCE_OF_AFTERLIFE = new SlimefunItemStack("ESSENCE_OF_AFTERLIFE", Material.GUNPOWDER, "&4Essence of Afterlife");
|
||||
public static final SlimefunItemStack STRANGE_NETHER_GOO = new SlimefunItemStack("STRANGE_NETHER_GOO", Material.PURPLE_DYE, "&5Strange Nether Goo", "", "&fA strange bio matter that", "&fcan be acquired from", "&fbartering with Piglins");
|
||||
public static final SlimefunItemStack ELECTRO_MAGNET = new SlimefunItemStack("ELECTRO_MAGNET", HeadTexture.MAGNET, "&cElectromagnet");
|
||||
public static final SlimefunItemStack HEATING_COIL = new SlimefunItemStack("HEATING_COIL", HeadTexture.HEATING_COIL, "&cHeating Coil");
|
||||
public static final SlimefunItemStack COOLING_UNIT = new SlimefunItemStack("COOLING_UNIT", HeadTexture.COOLING_UNIT, "&bCooling Unit");
|
||||
@ -407,6 +407,7 @@ public final class SlimefunItems {
|
||||
public static final SlimefunItemStack ANCIENT_ALTAR = new SlimefunItemStack("ANCIENT_ALTAR", Material.ENCHANTING_TABLE, "&dAncient Altar", "", "&5Multi-Block Altar for", "&5magical Crafting Processes");
|
||||
public static final SlimefunItemStack COPPER_WIRE = new SlimefunItemStack("COPPER_WIRE", Material.STRING, "&6Copper Wire", "", "&6Crucial component in electric modules");
|
||||
|
||||
/* Rainbow blocks */
|
||||
private static final String RAINBOW = "&dCycles through all Colors of the Rainbow!";
|
||||
public static final SlimefunItemStack RAINBOW_WOOL = new SlimefunItemStack("RAINBOW_WOOL", Material.WHITE_WOOL, "&5Rainbow Wool", "", RAINBOW);
|
||||
public static final SlimefunItemStack RAINBOW_GLASS = new SlimefunItemStack("RAINBOW_GLASS", Material.WHITE_STAINED_GLASS, "&5Rainbow Glass", "", RAINBOW);
|
||||
|
@ -5,6 +5,7 @@ import org.bukkit.Tag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
@ -67,6 +68,7 @@ public abstract class BioGenerator extends AGenerator {
|
||||
registerFuel(new MachineFuel(4, new ItemStack(Material.SHROOMLIGHT)));
|
||||
registerFuel(new MachineFuel(2, new ItemStack(Material.CRIMSON_FUNGUS)));
|
||||
registerFuel(new MachineFuel(2, new ItemStack(Material.WARPED_FUNGUS)));
|
||||
registerFuel(new MachineFuel(16, SlimefunItems.STRANGE_NETHER_GOO));
|
||||
}
|
||||
|
||||
// Leaves
|
||||
|
@ -3,24 +3,21 @@ package io.github.thebusybiscuit.slimefun4.implementation.items.magical;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.entity.Villager.Profession;
|
||||
import org.bukkit.entity.WanderingTrader;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.Merchant;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.inventory.ItemUtils;
|
||||
import io.github.thebusybiscuit.slimefun4.core.handlers.EntityInteractHandler;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.SimpleSlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
/**
|
||||
* This {@link SlimefunItem} allows you to reset a {@link Villager} profession.
|
||||
* This {@link SlimefunItem} allows you to reset a {@link Villager} profession.
|
||||
* Useful to reset a villager who does not have desirable trades.
|
||||
*
|
||||
* @author dNiym
|
||||
@ -28,8 +25,8 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
*/
|
||||
public class RuneOfUnemployment extends SimpleSlimefunItem<EntityInteractHandler> {
|
||||
|
||||
public RuneOfUnemployment(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||
super(category, item, recipeType, recipe);
|
||||
public RuneOfUnemployment(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, ItemStack recipeOutput) {
|
||||
super(category, item, recipeType, recipe, recipeOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -37,7 +34,7 @@ public class RuneOfUnemployment extends SimpleSlimefunItem<EntityInteractHandler
|
||||
return (e, item, offhand) -> {
|
||||
if (e.getRightClicked() instanceof Villager) {
|
||||
Villager v = (Villager) e.getRightClicked();
|
||||
|
||||
|
||||
if (v.getProfession() == Profession.NONE || v.getProfession() == Profession.NITWIT) {
|
||||
return;
|
||||
}
|
||||
@ -46,14 +43,15 @@ public class RuneOfUnemployment extends SimpleSlimefunItem<EntityInteractHandler
|
||||
ItemUtils.consumeItem(item, false);
|
||||
}
|
||||
|
||||
// Reset Villager
|
||||
v.setVillagerExperience(0);
|
||||
v.setProfession(Profession.NONE);
|
||||
|
||||
double offset = ThreadLocalRandom.current().nextDouble(0.5);
|
||||
|
||||
v.getWorld().spawnParticle(Particle.CRIMSON_SPORE, v.getLocation(), 10, 0, offset / 2, 0,0.0d);
|
||||
v.getWorld().spawnParticle(Particle.ENCHANTMENT_TABLE, v.getLocation(), 5, 0.04d, 1d, 0.04d);
|
||||
e.setCancelled(true);
|
||||
|
||||
double offset = ThreadLocalRandom.current().nextDouble(0.5);
|
||||
|
||||
v.getWorld().spawnParticle(Particle.CRIMSON_SPORE, v.getLocation(), 10, 0, offset / 2, 0, 0);
|
||||
v.getWorld().spawnParticle(Particle.ENCHANTMENT_TABLE, v.getLocation(), 5, 0.04, 1, 0.04);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -1,27 +1,31 @@
|
||||
package io.github.thebusybiscuit.slimefun4.implementation.resources;
|
||||
|
||||
import org.bukkit.entity.Piglin;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.api.items.ItemSetting;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.PiglinBarterDrop;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.magical.RuneOfUnemployment;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
/**
|
||||
* This {@link SlimefunItem} can only be obtained via bartering with a {@link Piglin}, its
|
||||
* only current uses is the recipe for crafting the {@link RuneOfUnemployment}.
|
||||
* This {@link SlimefunItem} can only be obtained via bartering with a {@link Piglin}, its
|
||||
* only current uses is the recipe for crafting the {@link RuneOfUnemployment}.
|
||||
*
|
||||
* @author dNiym
|
||||
*
|
||||
* @see RuneOfUnemployment
|
||||
* @see PiglinBarterDrop
|
||||
*
|
||||
*/
|
||||
public class OrganicNetherGoo extends SlimefunItem implements PiglinBarterDrop {
|
||||
public class StrangeNetherGoo extends SlimefunItem implements PiglinBarterDrop {
|
||||
|
||||
private final ItemSetting<Integer> chance = new ItemSetting<>("barter-chance", 3);
|
||||
|
||||
public OrganicNetherGoo(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||
public StrangeNetherGoo(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||
super(category, item, recipeType, recipe);
|
||||
|
||||
addItemSetting(chance);
|
||||
@ -33,4 +37,3 @@ public class OrganicNetherGoo extends SlimefunItem implements PiglinBarterDrop {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -271,8 +271,8 @@ public final class ResearchSetup {
|
||||
register("lead_clothing", 260, "Lead Clothing", 14, SlimefunItems.REINFORCED_CLOTH);
|
||||
register("tape_measure", 261, "Tape Measure", 7, SlimefunItems.TAPE_MEASURE);
|
||||
register("iron_golem_assembler", 262, "Automated Iron Golems", 30, SlimefunItems.IRON_GOLEM_ASSEMBLER);
|
||||
register("unemployment_rune", 263, "Reset Villager Trades", 29, SlimefunItems.UNEMPLOYMENT_RUNE, SlimefunItems.ORGANIC_NETHER_GOO);
|
||||
|
||||
register("unemployment_rune", 263, "Reset Villager Trades", 26, SlimefunItems.UNEMPLOYMENT_RUNE, SlimefunItems.STRANGE_NETHER_GOO);
|
||||
|
||||
}
|
||||
|
||||
private static void register(String key, int id, String name, int defaultCost, ItemStack... items) {
|
||||
|
@ -182,7 +182,7 @@ import io.github.thebusybiscuit.slimefun4.implementation.items.weapons.IcyBow;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.weapons.SeismicAxe;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.weapons.SwordOfBeheading;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.weapons.VampireBlade;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.resources.OrganicNetherGoo;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.resources.StrangeNetherGoo;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.HeadTexture;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
@ -3226,12 +3226,13 @@ public final class SlimefunItemSetup {
|
||||
}
|
||||
|
||||
if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_16)) {
|
||||
new OrganicNetherGoo(categories.resources, SlimefunItems.ORGANIC_NETHER_GOO, RecipeType.BARTER_DROP,
|
||||
new ItemStack[] {null, null, null, null, new CustomItem(HeadTexture.PIGLIN_HEAD.getAsItemStack(), "&aPiglins"), null, null, null, null})
|
||||
new StrangeNetherGoo(categories.resources, SlimefunItems.STRANGE_NETHER_GOO, RecipeType.BARTER_DROP,
|
||||
new ItemStack[] {null, null, null, null, new CustomItem(HeadTexture.PIGLIN_HEAD.getAsItemStack(), "&fPiglin"), null, null, null, null})
|
||||
.register(plugin);
|
||||
|
||||
new RuneOfUnemployment(categories.magicalResources, SlimefunItems.UNEMPLOYMENT_RUNE, RecipeType.ANCIENT_ALTAR,
|
||||
new ItemStack[] {SlimefunItems.MAGIC_LUMP_3, SlimefunItems.FLASK_OF_KNOWLEDGE, SlimefunItems.ENDER_LUMP_3, SlimefunItems.ORGANIC_NETHER_GOO, new ItemStack(Material.CRYING_OBSIDIAN), SlimefunItems.ORGANIC_NETHER_GOO, SlimefunItems.MAGICAL_GLASS, SlimefunItems.FLASK_OF_KNOWLEDGE, SlimefunItems.MAGICAL_GLASS})
|
||||
new ItemStack[] {SlimefunItems.MAGIC_LUMP_3, SlimefunItems.MAGICAL_GLASS, new ItemStack(Material.CRYING_OBSIDIAN), SlimefunItems.STRANGE_NETHER_GOO, SlimefunItems.FIRE_RUNE, SlimefunItems.STRANGE_NETHER_GOO, new ItemStack(Material.CRYING_OBSIDIAN), SlimefunItems.MAGICAL_GLASS, SlimefunItems.MAGIC_LUMP_3},
|
||||
new SlimefunItemStack(SlimefunItems.UNEMPLOYMENT_RUNE, 3))
|
||||
.register(plugin);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user