Skip to content

Commit e49c8f7

Browse files
committed
Updated to 9277b12
1 parent a4e531b commit e49c8f7

106 files changed

Lines changed: 4250 additions & 3724 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
<includes>
6969
<include>**/cscorelib2/updater/**</include>
7070
<include>**/cscorelib2/materials/**</include>
71+
<include>**/cscorelib2/protection/**</include>
7172
</includes>
7273
</filter>
7374
</filters>
@@ -123,7 +124,7 @@
123124
<dependency>
124125
<groupId>com.github.thebusybiscuit</groupId>
125126
<artifactId>CS-CoreLib2</artifactId>
126-
<version>0.3.9</version>
127+
<version>0.3.12</version>
127128
<scope>compile</scope>
128129
</dependency>
129130
<dependency>

src/me/mrCookieSlime/Slimefun/GEO/Resources/NetherIceResource.java renamed to src/me/mrCookieSlime/Slimefun/GEO/resources/NetherIceResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.mrCookieSlime.Slimefun.GEO.Resources;
1+
package me.mrCookieSlime.Slimefun.GEO.resources;
22

33
import org.bukkit.block.Biome;
44
import org.bukkit.inventory.ItemStack;

src/me/mrCookieSlime/Slimefun/GEO/Resources/OilResource.java renamed to src/me/mrCookieSlime/Slimefun/GEO/resources/OilResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.mrCookieSlime.Slimefun.GEO.Resources;
1+
package me.mrCookieSlime.Slimefun.GEO.resources;
22

33
import org.bukkit.block.Biome;
44
import org.bukkit.inventory.ItemStack;

src/me/mrCookieSlime/Slimefun/Lists/Categories.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,28 @@ private Categories() {}
2929
private static final String lore = "&a> 单击打开";
3030

3131
public static final Category WEAPONS = new Category(new CustomItem(Material.GOLDEN_SWORD, "&7武器", "", lore), 1);
32-
public static final Category PORTABLE = new Category(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDBjYjFlNjdiNTEyYWIyZDRiZjNkN2FjZTBlYWFmNjFjMzJjZDQ2ODFkZGMzOTg3Y2ViMzI2NzA2YTMzZmEifX19"), "&7物品", "", lore), 1);
32+
public static final Category PORTABLE = new Category(new CustomItem(SlimefunItems.BACKPACK_MEDIUM, "&7物品", "", lore), 1);
3333
public static final Category FOOD = new Category(new CustomItem(Material.APPLE, "&7食物", "", lore), 2);
34-
public static final Category MACHINES_1 = new Category(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTM0M2NlNThkYTU0Yzc5OTI0YTJjOTMzMWNmYzQxN2ZlOGNjYmJlYTliZTQ1YTdhYzg1ODYwYTZjNzMwIn19fQ=="), "&7基础机器", "", lore), 1);
35-
36-
public static final LockedCategory ELECTRICITY = new LockedCategory(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTU4NDQzMmFmNmYzODIxNjcxMjAyNThkMWVlZThjODdjNmU3NWQ5ZTQ3OWU3YjBkNGM3YjZhZDQ4Y2ZlZWYifX19"), "&b能源与电力", "", lore), 4, MACHINES_1);
37-
public static final LockedCategory GPS = new LockedCategory(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjBjOWMxYTAyMmY0MGI3M2YxNGI0Y2JhMzdjNzE4YzZhNTMzZjNhMjg2NGI2NTM2ZDVmNDU2OTM0Y2MxZiJ9fX0="), "&b基于 GPS 的机器", "", "&a>单击打开"), 4, MACHINES_1);
34+
public static final Category MACHINES_1 = new Category(new CustomItem(Material.SMITHING_TABLE, "&7基础机器", "", lore), 1);
35+
public static final LockedCategory ELECTRICITY = new LockedCategory(new CustomItem(SlimefunItems.NUCLEAR_REACTOR, "&b能源与电力", "", lore), 4, MACHINES_1);
36+
public static final LockedCategory GPS = new LockedCategory(new CustomItem(SlimefunItems.GPS_TRANSMITTER, "&b基于 GPS 的机器", "", "&a>单击打开"), 4, MACHINES_1);
3837
public static final Category ARMOR = new Category(new CustomItem(Material.IRON_CHESTPLATE, "&7防具", "", lore), 2);
3938
public static final Category LUMPS_AND_MAGIC = new Category(new CustomItem(SlimefunItems.RUNE_ENDER, "&7魔法物品", "", lore), 2);
4039
public static final Category MAGIC = new Category(new CustomItem(SlimefunItems.ENDER_BACKPACK, "&7魔法工具", "", lore), 3);
41-
public static final Category MISC = new Category(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTRkYTk3ZjA4MGUzOTViODQyYzRjYzgyYTg0MDgyM2Q0ZGJkOGNhNjg4YTIwNjg1M2U1NzgzZTRiZmRjMDEyIn19fQ=="), "&7杂项", "", lore), 2);
40+
public static final Category MISC = new Category(new CustomItem(SlimefunItems.CAN, "&7杂项", "", lore), 2);
4241
public static final Category TECH = new Category(new CustomArmor(new CustomItem(Material.LEATHER_CHESTPLATE, "&7科技工具", "", lore), Color.SILVER), 3);
43-
public static final Category RESOURCES = new Category(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2U4ZjVhZGIxNGQ2YzlmNmI4MTBkMDI3NTQzZjFhOGMxZjQxN2UyZmVkOTkzYzk3YmNkODljNzRmNWUyZTgifX19"), "&7资源", "", lore), 1);
44-
public static final Category CARGO = new LockedCategory(new CustomItem(getSkull("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTUxMGJjODUzNjJhMTMwYTZmZjlkOTFmZjExZDZmYTQ2ZDdkMTkxMmEzNDMxZjc1MTU1OGVmM2M0ZDljMiJ9fX0="), "&c货物管理", "", lore), 4, MACHINES_1);
42+
public static final Category RESOURCES = new Category(new CustomItem(SlimefunItems.SYNTHETIC_SAPPHIRE, "&7资源", "", lore), 1);
43+
public static final Category CARGO = new LockedCategory(new CustomItem(SlimefunItems.CARGO_MANAGER, "&c货物管理", "", lore), 4, MACHINES_1);
4544
public static final Category TECH_MISC = new Category(new CustomItem(SlimefunItems.HEATING_COIL, "&7科技零件", "", lore), 2);
4645
public static final Category MAGIC_ARMOR = new Category(new CustomItem(SlimefunItems.ENDER_HELMET, "&7魔法防具", "", lore), 2);
4746
public static final Category TALISMANS_1 = new Category(new CustomItem(Material.EMERALD, "&7护身符 - &a1级", "", lore), 2);
4847
public static final LockedCategory TALISMANS_2 = new LockedCategory(new CustomItem(Material.EMERALD, "&7护身符 - &a2级", "", lore), 3, TALISMANS_1);
4948
public static final Category TOOLS = new Category(new CustomItem(Material.GOLDEN_PICKAXE, "&7工具", "", lore), 1);
49+
50+
// Seasonal Categories
5051
public static final SeasonalCategory CHRISTMAS = new SeasonalCategory(12, 1, new CustomItem(Material.NETHER_STAR, "&a圣&b诞&c节", "", ChatColor.translateAlternateColorCodes('&', "&c帮助 &a圣诞老人")));
5152
public static final SeasonalCategory VALENTINES_DAY = new SeasonalCategory(2, 2, new CustomItem(Material.POPPY, "&d情人节", "", ChatColor.translateAlternateColorCodes('&', "&d庆祝爱情")));
5253
public static final SeasonalCategory EASTER = new SeasonalCategory(4, 2, new CustomItem(Material.EGG, "&6复活节", "", ChatColor.translateAlternateColorCodes('&', "&a给一些蛋上色")));
5354
public static final SeasonalCategory BIRTHDAY = new SeasonalCategory(10, 1, new CustomItem(Material.FIREWORK_ROCKET, "&a&lTheBusyBiscuit 的生日 &7(10/26)", "", ChatColor.translateAlternateColorCodes('&', "&a和我一起庆祝")));
5455

55-
private static ItemStack getSkull(String texture) {
56-
try {
57-
return CustomSkull.getItem(texture);
58-
} catch (Exception x) {
59-
Slimefun.getLogger().log(Level.SEVERE, "An Error occured while initializing the Categories for Slimefun " + Slimefun.getVersion(), x);
60-
return new ItemStack(Material.PLAYER_HEAD);
61-
}
62-
}
6356
}

src/me/mrCookieSlime/Slimefun/Lists/SlimefunItems.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ private SlimefunItems() {}
448448
public static final ItemStack STAFF_WIND = new CustomItem(Material.STICK, "&6元素法杖 &7- &b&o风", "", "&7元素: &b&o风", "", "&7&e右键&7 以将你吹飞");
449449
public static final ItemStack STAFF_FIRE = new CustomItem(Material.STICK, "&6元素法杖 &7- &c&o火", "", "&7元素: &c&o火","", "&c让火焰净化一切!");
450450
public static final ItemStack STAFF_WATER = new CustomItem(Material.STICK, "&6元素法杖 &7- &1&o水", "", "&7元素: &1&o水", "", "&7&e右键&7 以灭掉你身上的火");
451-
public static final ItemStack STAFF_STORM = new CustomItem(Material.STICK, "&6元素法杖 &7- &8&o风暴", "", "&7元素: &8&o风暴", "", "&e右键&7 召唤一道闪电", "&e可使用次数剩余 &75 &e次");
451+
public static final ItemStack STAFF_STORM = new CustomItem(Material.STICK, "&6元素法杖 &7- &8&o风暴", "", "&7元素: &8&o风暴", "", "&e右键&7 召唤一道闪电", "&7剩余 &eX &7次");
452452

453453
static {
454454
STAFF_WIND.addUnsafeEnchantment(Enchantment.LUCK, 1);
@@ -513,13 +513,14 @@ private SlimefunItems() {}
513513
public static final ItemStack SOULBOUND_BOOTS = new CustomItem(Material.DIAMOND_BOOTS, "&c灵魂绑定靴子", 0);
514514

515515
/* Runes */
516-
public static ItemStack BLANK_RUNE;
517-
public static ItemStack RUNE_AIR;
518-
public static ItemStack RUNE_WATER;
519-
public static ItemStack RUNE_FIRE;
520-
public static ItemStack RUNE_EARTH;
521-
public static ItemStack RUNE_ENDER;
522-
public static ItemStack RUNE_RAINBOW;
516+
public static final ItemStack BLANK_RUNE;
517+
public static final ItemStack RUNE_AIR;
518+
public static final ItemStack RUNE_WATER;
519+
public static final ItemStack RUNE_FIRE;
520+
public static final ItemStack RUNE_EARTH;
521+
public static final ItemStack RUNE_ENDER;
522+
public static final ItemStack RUNE_RAINBOW;
523+
public static final ItemStack RUNE_LIGHTNING;
523524

524525
static {
525526
ItemStack itemB = new ItemStack(Material.FIREWORK_STAR);
@@ -570,6 +571,13 @@ private SlimefunItems() {}
570571
imR.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&7古代符文 &8&l[&d&l虹&8&l]"));
571572
itemR.setItemMeta(imR);
572573
RUNE_RAINBOW = itemR;
574+
575+
ItemStack itemL = new ItemStack(Material.FIREWORK_STAR);
576+
FireworkEffectMeta imL = (FireworkEffectMeta) itemL.getItemMeta();
577+
imL.setEffect(FireworkEffect.builder().with(Type.BURST).withColor(Color.YELLOW).build());
578+
imL.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&7古代符文 &8&l[&e&l雷&8&l]"));
579+
itemL.setItemMeta(imL);
580+
RUNE_LIGHTNING = itemL;
573581
}
574582

575583
/* Electricity */

src/me/mrCookieSlime/Slimefun/Objects/Category.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
import java.util.List;
77

88
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
9+
import org.bukkit.inventory.ItemFlag;
910
import org.bukkit.inventory.ItemStack;
1011

1112
import me.mrCookieSlime.Slimefun.Lists.Categories;
1213
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
1314
import me.mrCookieSlime.Slimefun.api.Slimefun;
15+
import org.bukkit.inventory.meta.ItemMeta;
1416

1517
/**
1618
* Statically handles categories.
@@ -45,6 +47,11 @@ public class Category {
4547
*/
4648
public Category(ItemStack item) {
4749
this.item = item;
50+
51+
ItemMeta meta = item.getItemMeta();
52+
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
53+
this.item.setItemMeta(meta);
54+
4855
this.items = new ArrayList<>();
4956
this.tier = 3;
5057
}

src/me/mrCookieSlime/Slimefun/Objects/MultiBlock.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
88
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
99

10+
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
1011
import org.bukkit.Material;
1112

1213
public class MultiBlock {
1314

14-
public static List<MultiBlock> list = new ArrayList<>();
15-
1615
private Material[] blocks;
1716
private Material trigger;
1817

@@ -30,11 +29,11 @@ public Material getTriggerBlock() {
3029
}
3130

3231
public void register() {
33-
list.add(this);
32+
SlimefunPlugin.getUtilities().allMultiblocks.add(this);
3433
}
3534

3635
public static List<MultiBlock> list() {
37-
return list;
36+
return SlimefunPlugin.getUtilities().allMultiblocks;
3837
}
3938

4039
public boolean isMultiBlock(SlimefunItem machine) {

src/me/mrCookieSlime/Slimefun/Objects/Research.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ public class Research {
4646
* @since 4.0
4747
* @see ResearchSetup
4848
*/
49-
public static List<Research> list = new LinkedList<>();
50-
5149
private int id;
5250
private String name;
5351
private List<SlimefunItem> items;
@@ -116,7 +114,7 @@ public String getName() {
116114
*/
117115
@Deprecated
118116
public int getLevel() {
119-
return cost;
117+
return getCost();
120118
}
121119

122120
/**
@@ -129,7 +127,7 @@ public int getLevel() {
129127
*/
130128
@Deprecated
131129
public void setLevel(int level) {
132-
this.cost = level;
130+
setCost(level);
133131
}
134132

135133
/**
@@ -303,8 +301,8 @@ public void register() {
303301
this.cost = SlimefunPlugin.getResearchCfg().getInt(this.getID() + ".cost");
304302
this.enabled = SlimefunPlugin.getResearchCfg().getBoolean(this.getID() + ".enabled");
305303

306-
list.add(this);
307-
if (SlimefunPlugin.getCfg().getBoolean("options.print-out-loading")) Slimefun.getLogger().log(Level.INFO, "Loaded Research \"" + this.getName() + "\"");
304+
SlimefunPlugin.getUtilities().allResearches.add(this);
305+
if (SlimefunPlugin.getCfg().getBoolean("options.print-out-loading")) Slimefun.getLogger().log(Level.INFO, "已加载研究 \"" + this.getName() + "\"");
308306
}
309307

310308
/**
@@ -316,7 +314,7 @@ public void register() {
316314
* @see ResearchSetup
317315
*/
318316
public static List<Research> list() {
319-
return list;
317+
return SlimefunPlugin.getUtilities().allResearches;
320318
}
321319

322320
/**
@@ -328,7 +326,7 @@ public static List<Research> list() {
328326
* @since 4.0
329327
*/
330328
public static boolean isResearching(Player p) {
331-
return SlimefunPlugin.instance.getUtilities().researching.contains(p.getUniqueId());
329+
return SlimefunPlugin.getUtilities().researching.contains(p.getUniqueId());
332330
}
333331

334332
/**
@@ -386,7 +384,7 @@ public static String getTitle(Player p, Collection<Research> researched) {
386384
* @since 4.0
387385
*/
388386
public static Research getByID(int id) {
389-
for (Research research: list) {
387+
for (Research research: list()) {
390388
if (research.getID() == id) return research;
391389
}
392390
return null;
Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,51 @@
11
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem;
22

3+
import java.util.Random;
4+
5+
import org.bukkit.block.Block;
6+
import org.bukkit.block.Furnace;
7+
import org.bukkit.inventory.ItemStack;
8+
39
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
410
import me.mrCookieSlime.Slimefun.Lists.Categories;
511
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
612
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
7-
813
import me.mrCookieSlime.Slimefun.api.BlockStorage;
9-
import org.bukkit.block.Block;
10-
import org.bukkit.block.Furnace;
11-
import org.bukkit.inventory.ItemStack;
1214

13-
import java.util.Random;
15+
public class EnhancedFurnace extends SimpleSlimefunItem<BlockTicker> {
16+
17+
private int speed;
18+
private int efficiency;
19+
private int fortune;
20+
21+
public EnhancedFurnace(int speed, int efficiency, int fortune, ItemStack item, String id, ItemStack[] recipe) {
22+
super(Categories.MACHINES_1, item, id, RecipeType.ENHANCED_CRAFTING_TABLE, recipe);
23+
24+
this.speed = speed - 1;
25+
this.efficiency = efficiency - 1;
26+
this.fortune = fortune - 1;
27+
}
28+
29+
public int getSpeed() {
30+
return speed;
31+
}
32+
33+
public int getFuelEfficiency() {
34+
return efficiency;
35+
}
36+
37+
public int getOutput() {
38+
int fortune = this.fortune;
39+
fortune = new Random().nextInt(fortune + 2) - 1;
40+
if (fortune <= 0) fortune = 0;
41+
fortune++;
42+
return fortune;
43+
}
44+
45+
@Override
46+
public BlockTicker getItemHandler() {
47+
return new BlockTicker() {
1448

15-
public class EnhancedFurnace extends SlimefunItem {
16-
17-
private int speed, efficiency, fortune;
18-
19-
public EnhancedFurnace(int speed, int efficiency, int fortune, ItemStack item, String id, ItemStack[] recipe) {
20-
super(Categories.MACHINES_1, item, id, RecipeType.ENHANCED_CRAFTING_TABLE, recipe);
21-
22-
this.speed = speed - 1;
23-
this.efficiency = efficiency - 1;
24-
this.fortune = fortune - 1;
25-
26-
addItemHandler(new BlockTicker() {
2749
@Override
2850
public void tick(Block b, SlimefunItem item, Config data) {
2951
if (!(b.getState() instanceof Furnace)) {
@@ -42,26 +64,10 @@ else if (((Furnace) b.getState()).getCookTime() > 0) {
4264
}
4365
}
4466

45-
@Override
46-
public boolean isSynchronized() {
47-
return true;
48-
}
49-
});
50-
}
51-
52-
public int getSpeed() {
53-
return speed;
54-
}
55-
56-
public int getFuelEfficiency() {
57-
return efficiency;
58-
}
59-
60-
public int getOutput() {
61-
int fortune = this.fortune;
62-
fortune = new Random().nextInt(fortune + 2) - 1;
63-
if (fortune <= 0) fortune = 0;
64-
fortune++;
65-
return fortune;
66-
}
67-
}
67+
@Override
68+
public boolean isSynchronized() {
69+
return true;
70+
}
71+
};
72+
}
73+
}

src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ExcludedBlock.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
66
import me.mrCookieSlime.Slimefun.Objects.Category;
7-
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Interfaces.NotPlaceable;
7+
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.NotPlaceable;
88

99
public class ExcludedBlock extends SlimefunItem implements NotPlaceable {
1010

0 commit comments

Comments
 (0)