Skip to content

Commit

Permalink
Sync official latest source (Not include some lambda)
Browse files Browse the repository at this point in the history
  • Loading branch information
StarWishsama committed May 28, 2019
1 parent eba77fa commit da52898
Show file tree
Hide file tree
Showing 11 changed files with 856 additions and 857 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
<dependency>
<groupId>com.github.TheBusyBiscuit</groupId>
<artifactId>CS-CoreLib</artifactId>
<version>cc6a7de0e0</version>
<version>v1.6</version>
</dependency>
<dependency>
<groupId>me.minebuilders</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,11 @@ public class NetherIceResource implements OreGenResource {

@Override
public int getDefaultSupply(Biome biome) {
switch (biome) {
case NETHER: {
return 32;
}
default: {
return 0;
}
}
}
if (biome == Biome.NETHER) {
return 32;
}
return 0;
}

@Override
public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public EnderTalisman(Talisman parent) {
this.suffix = parent.getSuffix();
this.effects = parent.getEffects();
this.chance = parent.getChance();
Slimefun.addHint("ENDER_" + parent.getID(), "&e末影护身符有一个优点", "&e当它放置在末影箱内时", "&e它们仍然能够被使用");
Slimefun.addHint("ENDER_" + parent.getID(), "&eEnder Talismans have the advantage", "&eof still working while they", "&eare in your Ender Chest");
}

public String getSuffix() { return this.suffix; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,18 @@ public EnhancedFurnace(int speed, int efficiency, int fortune, ItemStack item, S
addItemHandler(new BlockTicker() {
@Override
public void tick(Block b, SlimefunItem item, Config data) {
if (b.getState() instanceof Furnace)
if (b.getState() instanceof Furnace) {
if (((Furnace) b.getState()).getCookTime() > 0) {
Furnace furnace = (Furnace) b.getState();
int newCookTime = furnace.getCookTime() + getSpeed() * 10;
if (newCookTime > 200) furnace.setCookTime((short) 188);

int newCookTime = furnace.getCookTime() + getSpeed() * 10;

if (newCookTime > 200) furnace.setCookTime((short) 188);
else furnace.setCookTime((short) newCookTime);

furnace.update(true, false);
}
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,157 +239,157 @@ public void registerFuel(MachineFuel fuel) {
this.recipes.add(fuel);
}

@Override
public void register(boolean slimefun) {
addItemHandler(new EnergyTicker() {

Set<Location> explode = new HashSet<Location>();

@Override
public double generateEnergy(final Location l, SlimefunItem sf, Config data) {
BlockMenu port = getAccessPort(l);

if (isProcessing(l)) {
extraTick(l);
int timeleft = progress.get(l);
if (timeleft > 0) {
int produced = getEnergyProduction();
int space = ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l);
if (space >= produced) {
ChargableBlock.addCharge(l, getEnergyProduction());
space -= produced;
}
if (space >= produced || !BlockStorage.getLocationInfo(l, "reactor-mode").equals("generator")) {
progress.put(l, timeleft - 1);

Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
if (!l.getBlock().getRelative(cooling[CSCoreLib.randomizer().nextInt(cooling.length)]).isLiquid()) explode.add(l);
});

ItemStack item = getProgressBar().clone();
ItemMeta im = item.getItemMeta();
im.setDisplayName(" ");
List<String> lore = new ArrayList<String>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(l).getTicks()));
lore.add(MachineHelper.getCoolant(timeleft, processing.get(l).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);

BlockStorage.getInventory(l).replaceExistingItem(22, item);

if (needsCooling()) {
boolean coolant = (processing.get(l).getTicks() - timeleft) % 25 == 0;

if (coolant) {
if (port != null) {
for (int slot: getCoolantSlots()) {
if (SlimefunManager.isItemSimiliar(port.getItemInSlot(slot), getCoolant(), true)) {
port.replaceExistingItem(slot, pushItems(l, port.getItemInSlot(slot), getCoolantSlots()));
}
}
}

boolean explosion = true;
for (int slot: getCoolantSlots()) {
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(l).getItemInSlot(slot), getCoolant(), true)) {
BlockStorage.getInventory(l).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(l).getItemInSlot(slot), 1));
ReactorHologram.update(l, "&b\u2744 &7100%");
explosion = false;
break;
}
}

if (explosion) {
explode.add(l);
return 0;
}
}
else {
ReactorHologram.update(l, "&b\u2744 &7" + MachineHelper.getPercentage(timeleft, processing.get(l).getTicks()) + "%");
}
}

return ChargableBlock.getCharge(l);
}
return 0;
}
else {
BlockStorage.getInventory(l).replaceExistingItem(22, new CustomItem(new ItemStack(Material.BLACK_STAINED_GLASS_PANE), " "));
if (processing.get(l).getOutput() != null) pushItems(l, processing.get(l).getOutput());

if (port != null) {
for (int slot: getOutputSlots()) {
if (BlockStorage.getInventory(l).getItemInSlot(slot) != null) BlockStorage.getInventory(l).replaceExistingItem(slot, ReactorAccessPort.pushItems(port.getLocation(), BlockStorage.getInventory(l).getItemInSlot(slot)));
}
}

progress.remove(l);
processing.remove(l);
return 0;
}
}
else {
MachineFuel r = null;
Map<Integer, Integer> found = new HashMap<Integer, Integer>();

if (port != null) {
refill:
for (int slot: getFuelSlots()) {
for (MachineFuel recipe: recipes) {
if (SlimefunManager.isItemSimiliar(port.getItemInSlot(slot), recipe.getInput(), true)) {
if (pushItems(l, new CustomItem(port.getItemInSlot(slot), 1), getFuelSlots()) == null) {
port.replaceExistingItem(slot, InvUtils.decreaseItem(port.getItemInSlot(slot), 1));
break refill;
}
}
}
}
}

outer:
for (MachineFuel recipe: recipes) {
for (int slot: getFuelSlots()) {
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(l).getItemInSlot(slot), recipe.getInput(), true)) {
found.put(slot, recipe.getInput().getAmount());
r = recipe;
break outer;
}
}
}

if (r != null) {
for (Map.Entry<Integer, Integer> entry: found.entrySet()) {
BlockStorage.getInventory(l).replaceExistingItem(entry.getKey(), InvUtils.decreaseItem(BlockStorage.getInventory(l).getItemInSlot(entry.getKey()), entry.getValue()));
}
processing.put(l, r);
progress.put(l, r.getTicks());
}
return 0;
}
}

@Override
public boolean explode(final Location l) {
final boolean explosion = explode.contains(l);
if (explosion) {
BlockStorage.getInventory(l).close();

Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
ReactorHologram.remove(l);
}, 0);

explode.remove(l);
processing.remove(l);
progress.remove(l);
}
return explosion;
}
});

super.register(slimefun);
}
@Override
public void register(boolean slimefun) {
addItemHandler(new EnergyTicker() {

Set<Location> explode = new HashSet<Location>();

@Override
public double generateEnergy(final Location l, SlimefunItem sf, Config data) {
BlockMenu port = getAccessPort(l);

if (isProcessing(l)) {
extraTick(l);
int timeleft = progress.get(l);
if (timeleft > 0) {
int produced = getEnergyProduction();
int space = ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l);
if (space >= produced) {
ChargableBlock.addCharge(l, getEnergyProduction());
space -= produced;
}
if (space >= produced || !BlockStorage.getLocationInfo(l, "reactor-mode").equals("generator")) {
progress.put(l, timeleft - 1);

Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
if (!l.getBlock().getRelative(cooling[CSCoreLib.randomizer().nextInt(cooling.length)]).isLiquid()) explode.add(l);
});

ItemStack item = getProgressBar().clone();
ItemMeta im = item.getItemMeta();
im.setDisplayName(" ");
List<String> lore = new ArrayList<String>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(l).getTicks()));
lore.add(MachineHelper.getCoolant(timeleft, processing.get(l).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);

BlockStorage.getInventory(l).replaceExistingItem(22, item);

if (needsCooling()) {
boolean coolant = (processing.get(l).getTicks() - timeleft) % 25 == 0;

if (coolant) {
if (port != null) {
for (int slot: getCoolantSlots()) {
if (SlimefunManager.isItemSimiliar(port.getItemInSlot(slot), getCoolant(), true)) {
port.replaceExistingItem(slot, pushItems(l, port.getItemInSlot(slot), getCoolantSlots()));
}
}
}

boolean explosion = true;
for (int slot: getCoolantSlots()) {
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(l).getItemInSlot(slot), getCoolant(), true)) {
BlockStorage.getInventory(l).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(l).getItemInSlot(slot), 1));
ReactorHologram.update(l, "&b\u2744 &7100%");
explosion = false;
break;
}
}

if (explosion) {
explode.add(l);
return 0;
}
}
else {
ReactorHologram.update(l, "&b\u2744 &7" + MachineHelper.getPercentage(timeleft, processing.get(l).getTicks()) + "%");
}
}

return ChargableBlock.getCharge(l);
}
return 0;
}
else {
BlockStorage.getInventory(l).replaceExistingItem(22, new CustomItem(new ItemStack(Material.BLACK_STAINED_GLASS_PANE), " "));
if (processing.get(l).getOutput() != null) pushItems(l, processing.get(l).getOutput());

if (port != null) {
for (int slot: getOutputSlots()) {
if (BlockStorage.getInventory(l).getItemInSlot(slot) != null) BlockStorage.getInventory(l).replaceExistingItem(slot, ReactorAccessPort.pushItems(port.getLocation(), BlockStorage.getInventory(l).getItemInSlot(slot)));
}
}

progress.remove(l);
processing.remove(l);
return 0;
}
}
else {
MachineFuel r = null;
Map<Integer, Integer> found = new HashMap<Integer, Integer>();

if (port != null) {
refill:
for (int slot: getFuelSlots()) {
for (MachineFuel recipe: recipes) {
if (SlimefunManager.isItemSimiliar(port.getItemInSlot(slot), recipe.getInput(), true)) {
if (pushItems(l, new CustomItem(port.getItemInSlot(slot), 1), getFuelSlots()) == null) {
port.replaceExistingItem(slot, InvUtils.decreaseItem(port.getItemInSlot(slot), 1));
break refill;
}
}
}
}
}

outer:
for (MachineFuel recipe: recipes) {
for (int slot: getFuelSlots()) {
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(l).getItemInSlot(slot), recipe.getInput(), true)) {
found.put(slot, recipe.getInput().getAmount());
r = recipe;
break outer;
}
}
}

if (r != null) {
for (Map.Entry<Integer, Integer> entry: found.entrySet()) {
BlockStorage.getInventory(l).replaceExistingItem(entry.getKey(), InvUtils.decreaseItem(BlockStorage.getInventory(l).getItemInSlot(entry.getKey()), entry.getValue()));
}
processing.put(l, r);
progress.put(l, r.getTicks());
}
return 0;
}
}

@Override
public boolean explode(final Location l) {
final boolean explosion = explode.contains(l);
if (explosion) {
BlockStorage.getInventory(l).close();
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
ReactorHologram.remove(l);
}, 0);
explode.remove(l);
processing.remove(l);
progress.remove(l);
}
return explosion;
}
});

super.register(slimefun);
}

private Inventory inject(Location l) {
int size = BlockStorage.getInventory(l).toInventory().getSize();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ public static String getTimeLeft(int l) {
String timeleft = "";
final int minutes = (int) (l / 60L);
if (minutes > 0) {
timeleft = String.valueOf(timeleft) + minutes + "分钟 ";
timeleft = String.valueOf(timeleft) + minutes + "m ";
}
l -= minutes * 60;
final int seconds = (int)l;
timeleft = String.valueOf(timeleft) + seconds + "";
return ChatColor.translateAlternateColorCodes('&', "&7剩余 " + timeleft);
timeleft = String.valueOf(timeleft) + seconds + "s";
return ChatColor.translateAlternateColorCodes('&', "&7" + timeleft + " left");
}

public static String getProgress(int time, int total) {
Expand Down
2 changes: 0 additions & 2 deletions src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java
Original file line number Diff line number Diff line change
Expand Up @@ -738,8 +738,6 @@ public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) {
if (SlimefunStartup.chance(100, (Integer) Slimefun.getItemValue("GOLD_PAN", "chance.SIFTED_ORE"))) drops.add(SlimefunItems.SIFTED_ORE);
else if (SlimefunStartup.chance(100, (Integer) Slimefun.getItemValue("GOLD_PAN", "chance.CLAY"))) drops.add(new ItemStack(Material.CLAY_BALL));
else if (SlimefunStartup.chance(100, (Integer) Slimefun.getItemValue("GOLD_PAN", "chance.FLINT"))) drops.add(new ItemStack(Material.FLINT));



e.getClickedBlock().getWorld().playEffect(e.getClickedBlock().getLocation(), Effect.STEP_SOUND, e.getClickedBlock().getType());
e.getClickedBlock().setType(Material.AIR);
Expand Down
Loading

0 comments on commit da52898

Please sign in to comment.