mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Changed the texture for the Nuclear Reactor
This commit is contained in:
parent
a06e49cf13
commit
7d8ef33d78
@ -31,6 +31,7 @@
|
||||
* Coolant Cells now last twice as long
|
||||
* Ticking blocks will now catch more errors caused by addons
|
||||
* Massive performance improvements
|
||||
* Changed the texture for the Nuclear Reactor
|
||||
|
||||
#### Fixes
|
||||
* Fixed #2005
|
||||
|
@ -13,6 +13,7 @@ import org.apache.commons.lang.Validate;
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.data.ComputedOptional;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.HeadTexture;
|
||||
|
||||
/**
|
||||
* Represents a {@link Contributor} who contributed to a GitHub repository.
|
||||
@ -25,8 +26,6 @@ import io.github.thebusybiscuit.cscorelib2.data.ComputedOptional;
|
||||
*/
|
||||
public class Contributor {
|
||||
|
||||
private static final String PLACEHOLDER_HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDZiYTYzMzQ0ZjQ5ZGQxYzRmNTQ4OGU5MjZiZjNkOWUyYjI5OTE2YTZjNTBkNjEwYmI0MGE1MjczZGM4YzgyIn19fQ==";
|
||||
|
||||
private final String githubUsername;
|
||||
private final String minecraftUsername;
|
||||
private final String profileLink;
|
||||
@ -133,7 +132,7 @@ public class Contributor {
|
||||
*/
|
||||
public String getTexture() {
|
||||
if (!headTexture.isComputed() || !headTexture.isPresent()) {
|
||||
return PLACEHOLDER_HEAD;
|
||||
return HeadTexture.UNKNOWN.getTexture();
|
||||
}
|
||||
else {
|
||||
return headTexture.get();
|
||||
|
@ -78,9 +78,9 @@ public abstract class SlimefunLocalization extends Localization implements Keyed
|
||||
protected abstract void addLanguage(String id, String texture);
|
||||
|
||||
protected void loadEmbeddedLanguages() {
|
||||
for (EmbeddedLanguage lang : EmbeddedLanguage.values()) {
|
||||
for (SupportedLanguage lang : SupportedLanguage.values()) {
|
||||
if (lang.isReadyForRelease() || SlimefunPlugin.getUpdater().getBranch() != SlimefunBranch.STABLE) {
|
||||
addLanguage(lang.getId(), lang.getTexture());
|
||||
addLanguage(lang.getLanguageId(), lang.getTexture());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ import org.bukkit.inventory.ItemStack;
|
||||
* @see Language
|
||||
*
|
||||
*/
|
||||
enum EmbeddedLanguage {
|
||||
enum SupportedLanguage {
|
||||
|
||||
ENGLISH("en", true, "a1701f21835a898b20759fb30a583a38b994abf60d3912ab4ce9f2311e74f72"),
|
||||
GERMAN("de", true, "5e7899b4806858697e283f084d9173fe487886453774626b24bd8cfecc77b3f"),
|
||||
@ -52,19 +52,20 @@ enum EmbeddedLanguage {
|
||||
AFRIKAANS("af", false, "961a1eacc10524d1f45f23b0e487bb2fc33948d9676b418b19a3da0b109d0e3c"),
|
||||
MALAY("ms", false, "754b9041dea6db6db44750f1385a743adf653767b4b8802cad4c585dd3f5be46"),
|
||||
THAI("th", true, "2a7916e4a852f7e6f3f3de19c7fb57686a37bce834bd54684a7dbef8d53fb"),
|
||||
MACEDONIAN("mk", false, "a0e0b0b5d87a855466980a101a757bcdb5f77d9f7287889f3efa998ee0472fc0");
|
||||
MACEDONIAN("mk", false, "a0e0b0b5d87a855466980a101a757bcdb5f77d9f7287889f3efa998ee0472fc0"),
|
||||
TAGALOG("tl", false, "9306c0c1ce6a9c61bb42a572c49e6d0ed20e0e6b3d122cc64c339cbf78e9e937");
|
||||
|
||||
private final String id;
|
||||
private final boolean releaseReady;
|
||||
private final String textureHash;
|
||||
|
||||
EmbeddedLanguage(String id, boolean releaseReady, String textureHash) {
|
||||
SupportedLanguage(String id, boolean releaseReady, String textureHash) {
|
||||
this.id = id;
|
||||
this.releaseReady = releaseReady;
|
||||
this.textureHash = textureHash;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
public String getLanguageId() {
|
||||
return id;
|
||||
}
|
||||
|
@ -21,144 +21,147 @@ public class Translators {
|
||||
this.github = github;
|
||||
|
||||
// Translators - German
|
||||
addTranslator("TheBusyBiscuit", EmbeddedLanguage.GERMAN, false);
|
||||
addTranslator("MeerBiene", EmbeddedLanguage.GERMAN, true);
|
||||
addTranslator("daro2404", EmbeddedLanguage.GERMAN, true);
|
||||
addTranslator("TheBusyBiscuit", SupportedLanguage.GERMAN, false);
|
||||
addTranslator("MeerBiene", SupportedLanguage.GERMAN, true);
|
||||
addTranslator("daro2404", SupportedLanguage.GERMAN, true);
|
||||
|
||||
// Translators - French
|
||||
addTranslator("JustDams", "D4ms_", EmbeddedLanguage.FRENCH, true);
|
||||
addTranslator("edkerforne", EmbeddedLanguage.FRENCH, true);
|
||||
addTranslator("tnthomastn", EmbeddedLanguage.FRENCH, true);
|
||||
addTranslator("Noumaa", EmbeddedLanguage.FRENCH, true);
|
||||
addTranslator("ishi-sama", EmbeddedLanguage.FRENCH, true);
|
||||
addTranslator("JustDams", "D4ms_", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("edkerforne", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("tnthomastn", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("Noumaa", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("ishi-sama", SupportedLanguage.FRENCH, true);
|
||||
|
||||
// Translators - Italian
|
||||
addTranslator("xXDOTTORXx", EmbeddedLanguage.ITALIAN, true);
|
||||
addTranslator("Sfiguz7", EmbeddedLanguage.ITALIAN, false);
|
||||
addTranslator("ThatsCube", EmbeddedLanguage.ITALIAN, true);
|
||||
addTranslator("alessandrobasi", EmbeddedLanguage.ITALIAN, true);
|
||||
addTranslator("dracrus", EmbeddedLanguage.ITALIAN, true);
|
||||
addTranslator("xXDOTTORXx", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("Sfiguz7", SupportedLanguage.ITALIAN, false);
|
||||
addTranslator("ThatsCube", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("alessandrobasi", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("dracrus", SupportedLanguage.ITALIAN, true);
|
||||
|
||||
// Translators - Latvian
|
||||
addTranslator("AgnisT", "NIKNAIZ", EmbeddedLanguage.LATVIAN, true);
|
||||
addTranslator("AgnisT", "NIKNAIZ", SupportedLanguage.LATVIAN, true);
|
||||
|
||||
// Translators - Hungarian
|
||||
addTranslator("andris155", EmbeddedLanguage.HUNGARIAN, true);
|
||||
addTranslator("andris155", SupportedLanguage.HUNGARIAN, true);
|
||||
|
||||
// Translators - Vietnamese
|
||||
addTranslator("HSGamer", EmbeddedLanguage.VIETNAMESE, false);
|
||||
addTranslator("JustMangoT", "JFF_JustMango", EmbeddedLanguage.VIETNAMESE, true);
|
||||
addTranslator("Julie-Sigtuna", EmbeddedLanguage.VIETNAMESE, true);
|
||||
addTranslator("nahkd123", EmbeddedLanguage.VIETNAMESE, true);
|
||||
addTranslator("JustAPieOP", EmbeddedLanguage.VIETNAMESE, true);
|
||||
addTranslator("that4life", EmbeddedLanguage.VIETNAMESE, true);
|
||||
addTranslator("HSGamer", SupportedLanguage.VIETNAMESE, false);
|
||||
addTranslator("JustMangoT", "JFF_JustMango", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("Julie-Sigtuna", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("nahkd123", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("JustAPieOP", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("that4life", SupportedLanguage.VIETNAMESE, true);
|
||||
|
||||
// Translators - Slovak
|
||||
addTranslator("KillerXCoder", EmbeddedLanguage.SLOVAK, true);
|
||||
addTranslator("PixelHotDog", EmbeddedLanguage.SLOVAK, true);
|
||||
addTranslator("KillerXCoder", SupportedLanguage.SLOVAK, true);
|
||||
addTranslator("PixelHotDog", SupportedLanguage.SLOVAK, true);
|
||||
|
||||
// Translators - Czech
|
||||
addTranslator("Nekomitsuki", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("GGGEDR", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("jakmanda05", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("Aile-Minicraftcz", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("Tengoblinekcz", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("sirhCCC", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("Thezerix", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("IsLineCZ", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("MrFriggo", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("100petr", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("frfole", EmbeddedLanguage.CZECH, true);
|
||||
addTranslator("Nekomitsuki", SupportedLanguage.CZECH, true);
|
||||
addTranslator("GGGEDR", SupportedLanguage.CZECH, true);
|
||||
addTranslator("jakmanda05", SupportedLanguage.CZECH, true);
|
||||
addTranslator("Aile-Minicraftcz", SupportedLanguage.CZECH, true);
|
||||
addTranslator("Tengoblinekcz", SupportedLanguage.CZECH, true);
|
||||
addTranslator("sirhCCC", SupportedLanguage.CZECH, true);
|
||||
addTranslator("Thezerix", SupportedLanguage.CZECH, true);
|
||||
addTranslator("IsLineCZ", SupportedLanguage.CZECH, true);
|
||||
addTranslator("MrFriggo", SupportedLanguage.CZECH, true);
|
||||
addTranslator("100petr", SupportedLanguage.CZECH, true);
|
||||
addTranslator("frfole", SupportedLanguage.CZECH, true);
|
||||
|
||||
// Translators - Russian
|
||||
addTranslator("SoSeDiK", EmbeddedLanguage.RUSSIAN, false);
|
||||
addTranslator("KostaTV", EmbeddedLanguage.RUSSIAN, true);
|
||||
addTranslator("TomWiskis", "MrWiskis", EmbeddedLanguage.RUSSIAN, true);
|
||||
addTranslator("cyb3rm4n", "GP_CyberMan", EmbeddedLanguage.RUSSIAN, true);
|
||||
addTranslator("SoSeDiK", SupportedLanguage.RUSSIAN, false);
|
||||
addTranslator("KostaTV", SupportedLanguage.RUSSIAN, true);
|
||||
addTranslator("TomWiskis", "MrWiskis", SupportedLanguage.RUSSIAN, true);
|
||||
addTranslator("cyb3rm4n", "GP_CyberMan", SupportedLanguage.RUSSIAN, true);
|
||||
|
||||
// Translators - Ukrainian
|
||||
addTranslator("SoSeDiK", EmbeddedLanguage.UKRAINIAN, false);
|
||||
addTranslator("SoSeDiK", SupportedLanguage.UKRAINIAN, false);
|
||||
|
||||
// Translators - Spanish
|
||||
addTranslator("Luu7", "_Luu", EmbeddedLanguage.SPANISH, true);
|
||||
addTranslator("Vravinite", EmbeddedLanguage.SPANISH, true);
|
||||
addTranslator("NotUmBr4", EmbeddedLanguage.SPANISH, true);
|
||||
addTranslator("dbzjjoe", EmbeddedLanguage.SPANISH, true);
|
||||
addTranslator("Luu7", "_Luu", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("Vravinite", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("NotUmBr4", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("dbzjjoe", SupportedLanguage.SPANISH, true);
|
||||
|
||||
// Translators - Swedish
|
||||
addTranslator("NihilistBrew", "ma1yang2", EmbeddedLanguage.SWEDISH, false);
|
||||
addTranslator("Tra-sh", "TurretTrash", EmbeddedLanguage.SWEDISH, true);
|
||||
addTranslator("NihilistBrew", "ma1yang2", SupportedLanguage.SWEDISH, false);
|
||||
addTranslator("Tra-sh", "TurretTrash", SupportedLanguage.SWEDISH, true);
|
||||
|
||||
// Translators - Dutch
|
||||
addTranslator("Dr4gonD", "DragonD", EmbeddedLanguage.DUTCH, true);
|
||||
addTranslator("svr333", EmbeddedLanguage.DUTCH, false);
|
||||
addTranslator("PabloMarcendo", EmbeddedLanguage.DUTCH, true);
|
||||
addTranslator("Dr4gonD", "DragonD", SupportedLanguage.DUTCH, true);
|
||||
addTranslator("svr333", SupportedLanguage.DUTCH, false);
|
||||
addTranslator("PabloMarcendo", SupportedLanguage.DUTCH, true);
|
||||
|
||||
// Translators - Danish
|
||||
addTranslator("Mini-kun", EmbeddedLanguage.DANISH, true);
|
||||
addTranslator("Mini-kun", SupportedLanguage.DANISH, true);
|
||||
|
||||
// Translators - Polish
|
||||
addTranslator("ascpixel", "kbartek_", EmbeddedLanguage.POLISH, true);
|
||||
addTranslator("Xylitus", EmbeddedLanguage.POLISH, true);
|
||||
addTranslator("Wirusiu", EmbeddedLanguage.POLISH, true);
|
||||
addTranslator("koloksk", EmbeddedLanguage.POLISH, true);
|
||||
addTranslator("ascpixel", "kbartek_", SupportedLanguage.POLISH, true);
|
||||
addTranslator("Xylitus", SupportedLanguage.POLISH, true);
|
||||
addTranslator("Wirusiu", SupportedLanguage.POLISH, true);
|
||||
addTranslator("koloksk", SupportedLanguage.POLISH, true);
|
||||
|
||||
// Translators - Chinese (China)
|
||||
addTranslator("StarWishsama", "StarWish_Sama", EmbeddedLanguage.CHINESE_CHINA, false);
|
||||
addTranslator("Rothes", EmbeddedLanguage.CHINESE_CHINA, true);
|
||||
addTranslator("Chihsiao", EmbeddedLanguage.CHINESE_CHINA, true);
|
||||
addTranslator("StarWishsama", "StarWish_Sama", SupportedLanguage.CHINESE_CHINA, false);
|
||||
addTranslator("Rothes", SupportedLanguage.CHINESE_CHINA, true);
|
||||
addTranslator("Chihsiao", SupportedLanguage.CHINESE_CHINA, true);
|
||||
|
||||
// Translators - Chinese (Taiwan)
|
||||
addTranslator("BrineYT", "HeroBrineKing", EmbeddedLanguage.CHINESE_TAIWAN, true);
|
||||
addTranslator("mio9", EmbeddedLanguage.CHINESE_TAIWAN, true);
|
||||
addTranslator("BrineYT", "HeroBrineKing", SupportedLanguage.CHINESE_TAIWAN, true);
|
||||
addTranslator("mio9", SupportedLanguage.CHINESE_TAIWAN, true);
|
||||
|
||||
// Translators - Arabic
|
||||
addTranslator("mohkamfer", "AgentBabbie", EmbeddedLanguage.ARABIC, false);
|
||||
addTranslator("mohkamfer", "AgentBabbie", SupportedLanguage.ARABIC, false);
|
||||
|
||||
// Translators - Hebrew
|
||||
addTranslator("dhtdht020", EmbeddedLanguage.HEBREW, false);
|
||||
addTranslator("Eylonnn", EmbeddedLanguage.HEBREW, false);
|
||||
addTranslator("dhtdht020", SupportedLanguage.HEBREW, false);
|
||||
addTranslator("Eylonnn", SupportedLanguage.HEBREW, false);
|
||||
|
||||
// Translators - Japanese
|
||||
addTranslator("bito-blosh", "Bloshop", EmbeddedLanguage.JAPANESE, false);
|
||||
addTranslator("bito-blosh", "Bloshop", SupportedLanguage.JAPANESE, false);
|
||||
|
||||
// Translators - Korean
|
||||
addTranslator("kwonms871", EmbeddedLanguage.KOREAN, true);
|
||||
addTranslator("yumjunstar", EmbeddedLanguage.KOREAN, true);
|
||||
addTranslator("BlWon", EmbeddedLanguage.KOREAN, true);
|
||||
addTranslator("20181241", EmbeddedLanguage.KOREAN, true);
|
||||
addTranslator("kwonms871", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("yumjunstar", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("BlWon", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("20181241", SupportedLanguage.KOREAN, true);
|
||||
|
||||
// Translators - Indonesian
|
||||
addTranslator("diradho", EmbeddedLanguage.INDONESIAN, false);
|
||||
addTranslator("diradho", SupportedLanguage.INDONESIAN, false);
|
||||
|
||||
// Translators - Thai
|
||||
addTranslator("phoomin2012", EmbeddedLanguage.THAI, false);
|
||||
addTranslator("film2860", EmbeddedLanguage.THAI, false);
|
||||
addTranslator("Rafrael17k", EmbeddedLanguage.THAI, false);
|
||||
addTranslator("Cupjok", EmbeddedLanguage.THAI, false);
|
||||
addTranslator("phoomin2012", SupportedLanguage.THAI, false);
|
||||
addTranslator("film2860", SupportedLanguage.THAI, false);
|
||||
addTranslator("Rafrael17k", SupportedLanguage.THAI, false);
|
||||
addTranslator("Cupjok", SupportedLanguage.THAI, false);
|
||||
|
||||
// Translators - Turkish
|
||||
addTranslator("Yunuskrn", EmbeddedLanguage.TURKISH, true);
|
||||
addTranslator("LinoxGH", "ajan_12", EmbeddedLanguage.TURKISH, false);
|
||||
addTranslator("Yunuskrn", SupportedLanguage.TURKISH, true);
|
||||
addTranslator("LinoxGH", "ajan_12", SupportedLanguage.TURKISH, false);
|
||||
|
||||
// Translators - Macedonian
|
||||
addTranslator("TheSilentPro", EmbeddedLanguage.MACEDONIAN, true);
|
||||
addTranslator("TheSilentPro", SupportedLanguage.MACEDONIAN, true);
|
||||
|
||||
// Translators - Bulgarian
|
||||
addTranslator("DNBGlol", EmbeddedLanguage.BULGARIAN, true);
|
||||
addTranslator("DNBGlol", SupportedLanguage.BULGARIAN, true);
|
||||
|
||||
// Translators - Tagalog
|
||||
addTranslator("sccooottttie", SupportedLanguage.TAGALOG, true);
|
||||
|
||||
// Translators - Portuguese (Brazil)
|
||||
addTranslator("G4stavoM1ster", EmbeddedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("yurinogueira", EmbeddedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Sakanas", EmbeddedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("G4stavoM1ster", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("yurinogueira", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Sakanas", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
}
|
||||
|
||||
private void addTranslator(String name, EmbeddedLanguage lang, boolean lock) {
|
||||
private void addTranslator(String name, SupportedLanguage lang, boolean lock) {
|
||||
addTranslator(name, name, lang, lock);
|
||||
}
|
||||
|
||||
private void addTranslator(String username, String minecraftName, EmbeddedLanguage lang, boolean lock) {
|
||||
Contributor contributor = github.addContributor(minecraftName, "https://github.com/" + username, "translator," + lang.getId(), 0);
|
||||
private void addTranslator(String username, String minecraftName, SupportedLanguage lang, boolean lock) {
|
||||
Contributor contributor = github.addContributor(minecraftName, "https://github.com/" + username, "translator," + lang.getLanguageId(), 0);
|
||||
|
||||
if (lock) {
|
||||
contributor.lock();
|
||||
|
@ -756,7 +756,7 @@ public final class SlimefunItems {
|
||||
public static final SlimefunItemStack EXP_COLLECTOR = new SlimefunItemStack("XP_COLLECTOR", HeadTexture.EXP_COLLECTOR, "&aEXP Collector", "", "&rCollects nearby Exp and stores it", "", LoreBuilder.machine(MachineTier.END_GAME, MachineType.MACHINE), LoreBuilder.powerBuffer(1024), LoreBuilder.powerPerSecond(20));
|
||||
public static final SlimefunItemStack REACTOR_COOLANT_CELL = new SlimefunItemStack("REACTOR_COLLANT_CELL", HeadTexture.COOLANT_CELL, "&bReactor Coolant Cell");
|
||||
|
||||
public static final SlimefunItemStack NUCLEAR_REACTOR = new SlimefunItemStack("NUCLEAR_REACTOR", HeadTexture.GENERATOR, "&2Nuclear Reactor", "", "&rRequires Cooling!", "&8\u21E8 &bMust be surrounded by Water", "&8\u21E8 &bMust be supplied with Reactor Coolant Cells", "", LoreBuilder.machine(MachineTier.END_GAME, MachineType.GENERATOR), LoreBuilder.powerBuffer(16384), LoreBuilder.powerPerSecond(500));
|
||||
public static final SlimefunItemStack NUCLEAR_REACTOR = new SlimefunItemStack("NUCLEAR_REACTOR", HeadTexture.NUCLEAR_REACTOR, "&2Nuclear Reactor", "", "&rRequires Cooling!", "&8\u21E8 &bMust be surrounded by Water", "&8\u21E8 &bMust be supplied with Reactor Coolant Cells", "", LoreBuilder.machine(MachineTier.END_GAME, MachineType.GENERATOR), LoreBuilder.powerBuffer(16384), LoreBuilder.powerPerSecond(500));
|
||||
public static final SlimefunItemStack NETHER_STAR_REACTOR = new SlimefunItemStack("NETHERSTAR_REACTOR", HeadTexture.GENERATOR, "&fNether Star Reactor", "", "&fRuns on Nether Stars", "&8\u21E8 &bMust be surrounded by Water", "&8\u21E8 &bMust be supplied with Nether Ice Coolant Cells", "", LoreBuilder.machine(MachineTier.END_GAME, MachineType.GENERATOR), LoreBuilder.powerBuffer(32768), LoreBuilder.powerPerSecond(1024), "&8\u21E8 &4Causes nearby Entities to get Withered");
|
||||
public static final SlimefunItemStack REACTOR_ACCESS_PORT = new SlimefunItemStack("REACTOR_ACCESS_PORT", Material.CYAN_TERRACOTTA, "&2Reactor Access Port", "", "&rAllows you to interact with a Reactor", "&rvia Cargo Nodes, can also be used", "&ras a Buffer", "", "&8\u21E8 &eMust be placed &a3 Blocks &eabove the Reactor");
|
||||
|
||||
|
@ -34,6 +34,7 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
|
||||
public class FluidPump extends SimpleSlimefunItem<BlockTicker> implements InventoryBlock, EnergyNetComponent {
|
||||
|
||||
private static final int ENERGY_CONSUMPTION = 32;
|
||||
private static final int RANGE = 42;
|
||||
|
||||
private final int[] border = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44, 22 };
|
||||
private final int[] inputBorder = { 9, 10, 11, 12, 18, 21, 27, 28, 29, 30 };
|
||||
@ -95,7 +96,7 @@ public class FluidPump extends SimpleSlimefunItem<BlockTicker> implements Invent
|
||||
|
||||
protected void tick(Block b) {
|
||||
Block fluid = b.getRelative(BlockFace.DOWN);
|
||||
Optional<ItemStack> bucket = getBucket(fluid);
|
||||
Optional<ItemStack> bucket = getFilledBucket(fluid);
|
||||
|
||||
if (bucket.isPresent() && ChargableBlock.getCharge(b) >= ENERGY_CONSUMPTION) {
|
||||
BlockMenu menu = BlockStorage.getInventory(b);
|
||||
@ -108,15 +109,8 @@ public class FluidPump extends SimpleSlimefunItem<BlockTicker> implements Invent
|
||||
|
||||
ChargableBlock.addCharge(b, -ENERGY_CONSUMPTION);
|
||||
menu.consumeItem(slot);
|
||||
menu.pushItem(bucket.get(), getOutputSlots());
|
||||
|
||||
if (fluid.getType() == Material.WATER) {
|
||||
fluid.setType(Material.AIR);
|
||||
}
|
||||
else {
|
||||
List<Block> list = Vein.find(fluid, 50, block -> block.isLiquid() && block.getType() == fluid.getType());
|
||||
list.get(list.size() - 1).setType(Material.AIR);
|
||||
}
|
||||
menu.pushItem(bucket.get().clone(), getOutputSlots());
|
||||
consumeFluid(fluid);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -124,7 +118,17 @@ public class FluidPump extends SimpleSlimefunItem<BlockTicker> implements Invent
|
||||
}
|
||||
}
|
||||
|
||||
private Optional<ItemStack> getBucket(Block fluid) {
|
||||
private void consumeFluid(Block fluid) {
|
||||
if (fluid.getType() == Material.WATER) {
|
||||
fluid.setType(Material.AIR);
|
||||
return;
|
||||
}
|
||||
|
||||
List<Block> list = Vein.find(fluid, RANGE, block -> block.isLiquid() && block.getType() == fluid.getType());
|
||||
list.get(list.size() - 1).setType(Material.AIR);
|
||||
}
|
||||
|
||||
private Optional<ItemStack> getFilledBucket(Block fluid) {
|
||||
if (fluid.getType() == Material.LAVA) {
|
||||
return Optional.of(new ItemStack(Material.LAVA_BUCKET));
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ public abstract class Reactor extends AbstractEnergyProvider {
|
||||
}
|
||||
|
||||
if (!BlockStorage.hasBlockInfo(b) || BlockStorage.getLocationInfo(b.getLocation(), MODE).equals(ReactorMode.GENERATOR.toString())) {
|
||||
menu.replaceExistingItem(4, new CustomItem(SlimefunItems.NUCLEAR_REACTOR, "&7Focus: &eElectricity", "", "&6Your Reactor will focus on Power Generation", "&6If your Energy Network doesn't need Power", "&6it will not produce any either", "", "&7> Click to change the Focus to &eProduction"));
|
||||
menu.replaceExistingItem(4, new CustomItem(SlimefunItems.NUCLEAR_REACTOR, "&7Focus: &eElectricity", "", "&6Your Reactor will focus on Power Generation", "&6If your Energy Network doesn't need Power", "&6it will not produce any either", "", "&7\u21E8 Click to change the Focus to &eProduction"));
|
||||
menu.addMenuClickHandler(4, (p, slot, item, action) -> {
|
||||
BlockStorage.addBlockInfo(b, MODE, ReactorMode.PRODUCTION.toString());
|
||||
newInstance(menu, b);
|
||||
@ -97,7 +97,7 @@ public abstract class Reactor extends AbstractEnergyProvider {
|
||||
});
|
||||
}
|
||||
else {
|
||||
menu.replaceExistingItem(4, new CustomItem(SlimefunItems.PLUTONIUM, "&7Focus: &eProduction", "", "&6Your Reactor will focus on producing goods", "&6If your Energy Network doesn't need Power", "&6it will continue to run and simply will", "&6not generate any Power in the mean time", "", "&7> Click to change the Focus to &ePower Generation"));
|
||||
menu.replaceExistingItem(4, new CustomItem(SlimefunItems.PLUTONIUM, "&7Focus: &eProduction", "", "&6Your Reactor will focus on producing goods", "&6If your Energy Network doesn't need Power", "&6it will continue to run and simply will", "&6not generate any Power in the mean time", "", "&7\u21E8 Click to change the Focus to &ePower Generation"));
|
||||
menu.addMenuClickHandler(4, (p, slot, item, action) -> {
|
||||
BlockStorage.addBlockInfo(b, MODE, ReactorMode.GENERATOR.toString());
|
||||
newInstance(menu, b);
|
||||
|
@ -63,7 +63,7 @@ public class DebugFishListener implements Listener {
|
||||
if (p.isSneaking()) {
|
||||
Block b = e.getClickedBlock().getRelative(e.getBlockFace());
|
||||
b.setType(Material.PLAYER_HEAD);
|
||||
SkullBlock.setFromHash(b, HeadTexture.UNKNOWN.getTexture());
|
||||
SkullBlock.setFromHash(b, HeadTexture.MISSING_TEXTURE.getTexture());
|
||||
}
|
||||
else if (BlockStorage.hasBlockInfo(e.getClickedBlock())) {
|
||||
sendInfo(p, e.getClickedBlock());
|
||||
|
@ -92,7 +92,9 @@ public enum HeadTexture {
|
||||
GLOBE_NETHER("d83571ff589f1a59bb02b80800fc736116e27c3dcf9efebede8cf1fdde"),
|
||||
GLOBE_THE_END("c6cac59b2aae489aa0687b5d802b2555eb14a40bd62b21eb116fa569cdb756"),
|
||||
DEATHPOINT("1ae3855f952cd4a03c148a946e3f812a5955ad35cbcb52627ea4acd47d3081"),
|
||||
UNKNOWN("e9eb9da26cf2d3341397a7f4913ba3d37d1ad10eae30ab25fa39ceb84bc");
|
||||
NUCLEAR_REACTOR("fa5de0bc2bfb5cc2d23eb72f96402ada479524dd0de404bc23b6dacee3ffd080"),
|
||||
UNKNOWN("46ba63344f49dd1c4f5488e926bf3d9e2b29916a6c50d610bb40a5273dc8c82"),
|
||||
MISSING_TEXTURE("e9eb9da26cf2d3341397a7f4913ba3d37d1ad10eae30ab25fa39ceb84bc");
|
||||
|
||||
private final String texture;
|
||||
|
||||
|
@ -24,6 +24,7 @@ import io.github.thebusybiscuit.slimefun4.api.exceptions.PrematureCodeException;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactive;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Soulbound;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.altar.AncientPedestal;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.itemstack.ItemStackWrapper;
|
||||
import me.mrCookieSlime.EmeraldEnchants.EmeraldEnchants;
|
||||
import me.mrCookieSlime.EmeraldEnchants.ItemEnchantment;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
@ -205,12 +206,22 @@ public final class SlimefunUtils {
|
||||
return SkullItem.fromBase64(base64);
|
||||
}
|
||||
|
||||
public static boolean containsSimilarItem(Inventory inventory, ItemStack itemStack, boolean checkLore) {
|
||||
if (inventory == null || itemStack == null) return false;
|
||||
public static boolean containsSimilarItem(Inventory inventory, ItemStack item, boolean checkLore) {
|
||||
if (inventory == null || item == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (ItemStack is : inventory.getStorageContents()) {
|
||||
if (is == null || is.getType() == Material.AIR) continue;
|
||||
if (isItemSimilar(is, itemStack, checkLore)) return true;
|
||||
// Performance optimization
|
||||
ItemStackWrapper wrapper = new ItemStackWrapper(item);
|
||||
|
||||
for (ItemStack stack : inventory.getStorageContents()) {
|
||||
if (stack == null || stack.getType() == Material.AIR) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isItemSimilar(stack, wrapper, checkLore)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user