This commit is contained in:
Brianna O'Keefe 2018-06-19 19:32:42 -04:00
parent ee099c4d43
commit 41509821c1
41 changed files with 19 additions and 84 deletions

2
.gitignore vendored
View File

@ -4,3 +4,5 @@ out/
\.idea/
/src/main/resources/META-INF/MANIFEST.MF
/EpicHoppers.iml
target/

9
LICENSE Normal file
View File

@ -0,0 +1,9 @@
Copyright (c) 2018 Brianna OKeefe
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software with minimal restriction, including the rights to use, copy, modify or merge while excluding the rights to publish, (re)distribute, sub-license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The same distribution rights and limitations above shall similarly apply to any and all source code, and other means that can be used to emulate this work.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

5
README.MD Normal file
View File

@ -0,0 +1,5 @@
# EpicHoppers
EpicHoppers is a plugin that both optimizes hoppers and adds new and intuitive/enjoyable functions to them.
![N|Solid](https://i.imgur.com/jKtE7ZM.png)

View File

@ -166,8 +166,8 @@ public final class EpicHoppers extends JavaPlugin implements Listener {
* Dump HopperManager to file.
*/
for (Hopper hopper : hopperManager.getHoppers().values()) {
if (hopper.getLevel() == null || hopper.getLocation() == null || hopper.getLocation().getChunk() == null) continue;
String locationStr = Arconix.pl().getApi().serialize().serializeLocation(hopper.getLocation());
if (hopper.getLevel() == null) continue;
dataFile.getConfig().set("data.sync." + locationStr + ".level", hopper.getLevel().getLevel());
dataFile.getConfig().set("data.sync." + locationStr + ".block", hopper.getSyncedBlock() == null ? null : Arconix.pl().getApi().serialize().serializeLocation(hopper.getSyncedBlock().getLocation()));
dataFile.getConfig().set("data.sync." + locationStr + ".player", hopper.getLastPlayer() == null ? null : hopper.getLastPlayer().toString());

View File

@ -174,10 +174,9 @@ public class BlockListeners implements Listener {
}
e.isCancelled();
short dur = e.getPlayer().getItemInHand().getDurability();
e.getPlayer().getItemInHand().setDurability((short) (dur + 1));
e.getPlayer().getItemInHand().setDurability((short) (e.getPlayer().getItemInHand().getDurability() + 1));
if (e.getPlayer().getItemInHand().getDurability() >= e.getPlayer().getItemInHand().getType().getMaxDurability()) {
e.getPlayer().getItemInHand().setType(Material.AIR);
e.getPlayer().getItemInHand().setType(null);
}
if (e.getExpToDrop() > 0)
e.getPlayer().getWorld().spawn(e.getBlock().getLocation(), ExperienceOrb.class).setExperience(e.getExpToDrop());

View File

@ -1,14 +0,0 @@
ECO-Icon: 'This is the default icon that will be used for the Economy upgrade button.'
XP-Icon: 'This is the default icon that will be used for the Experience upgrade button.'
Upgrading-enabled: 'Setting this to true will allow users to access the upgrade window.'
Upgrade-with-eco: 'Setting this to true will allow users to use Economy to upgrade their hoppers.'
Upgrade-with-xp: 'Setting this to true will allow users to use Experience to upgrade their hoppers.'
On-upgrade-particles: 'Setting this to true will cause particles to emit when a hopper is upgraded.'
Teleport-hoppers: 'These are the default levels, the amount of levels can be expanded if you want, just add another level to the bottom of the list while keeping numeric order. Allows you to enable or disable teleporting with hoppers'
Hop-Tick: 'This is the tick speed for synced hoppers.'
Sync-Timeout: 'This is the timeout that if reached will cancel a sync.'
Glass-Type: 'This is the id of the glass used for the background in the guis.'
Rainbow-Glass: 'If this is enabled the glass background will be randomized colors. '
Limit-Hoppers-Per-Chunk: 'If enabled this will limit the amount hoppers per chunk'
Hopper-Limit: 'This is the amount of allowed hoppers per chunk.'
Upgrade-particle-type: 'This is the type of particle an upgrade will emit.'

View File

@ -1,53 +0,0 @@
#General Messages
general.nametag.prefix = "&7[&6EpicHoppers&7]"
general.nametag.next = "&9Next"
general.nametag.back = "&9Back"
general.nametag.nameformat = "&eLevel %level% &fHopper"
#Interface Messages
interface.hopper.upgradewithxp = "&aUpgrade with XP"
interface.hopper.upgradewithxplore = "&7Cost: &a%cost% Levels"
interface.hopper.upgradewitheconomy = "&aUpgrade with ECO"
interface.hopper.upgradewitheconomylore = "&7Cost: &a$%cost%"
interface.hopper.currentlevel = "&6Hopper Level &7%level%"
interface.hopper.nextlevel = "&6Next Level &7%level%"
interface.hopper.range = "&7Range: &6%range%"
interface.hopper.amount = "&7Amount: &6%amount%"
interface.hopper.suction = "&7Suction: &6%suction%"
interface.hopper.blockbreak = "&7Block Break: &6Every %ticks% ticks"
interface.hopper.alreadymaxed = "&7This hopper is already maxed out!"
interface.hopper.synclore = "|&7Left-Click then click a another|&7hopper or chest to sync!||&7Right-Click to desync."
interface.hopper.perltitle = "&6Click to Teleport"
interface.hopper.perllore = "|&7Left-Click to teleport to|&7the end of the chain.||&7Right-Click to toggle walk|&7on teleport."
interface.hopper.filtertitle = "&cClick to Filter"
interface.hopper.filterlore = "|&7This allows you to choose|&7which items go where."
interface.hopper.synchopper = "&6Click to Sync This hopper"
interface.hopper.rejectsync = "&6Click to Sync Rejected Items"
interface.filter.infotitle = "&aFilter Guide"
interface.filter.infolore = "&7Items placed in the top left|&7space will be whitelisted.||&7Items placed in the right|&7will be void.||&7Items placed in the bottom left|&7will be blacklisted.||&cUsing the whitelist will disable|&cboth the blacklist and the void."
interface.filter.whitelist = "&f&lWhite List"
interface.filter.blacklist = "&8&lBlack List"
interface.filter.void = "&c&lVoid"
#Event Messages
event.general.nopermission = "&cYou do not have permission to do that."
event.upgrade.cannotafford = "&cYou cannot afford this upgrade."
event.upgrade.success = "&7You successfully upgraded this hopper to &6level %level%&7!"
event.upgrade.maxed = "&7You maxed out this hopper at &6level %level%&7."
event.inventory.noroom = "&7You do not have space in your inventory for this."
event.hopper.syncsuccess = "&aSynchronization Successful."
event.hopper.desync = "&7You have desynchronized this hopper."
event.hopper.syncnext = "&7Click another hopper or container to sync."
event.hopper.syncself = "&cYou can't sync a hopper to itself."
event.hopper.synctimeout = "&cSyncing timed out."
event.hopper.syncoutofrange = "&cThis block is out of your hoppers range."
event.hopper.syncdidnotplace = "&cSorry! You need to have placed this hopper to sync things to it."
event.hopper.toomany = "&cYou can only place %amount% hoppers per chunk..."
event.hopper.walkteleenabled = "Walk on teleporting has been enabled for this hopper."
event.hopper.walkteledisabled = "Walk on teleporting has been disabled for this hopper."
event.hopper.onlyone = "&cYou may only place a single item at a time."
event.hopper.syncchest = "&7You have synchronized your &9%name% &7with this chest."
event.hopper.desyncchest = "&7You have desynchronized your &9%name% &7with this chest."

View File

@ -1,13 +0,0 @@
name: EpicHoppers
description: EpicHoppers
main: com.songoda.epichoppers.EpicHoppers
depend: [Arconix]
softdepend: [Towny, RedProtect, Kingdoms, PlotsSquared, GriefPrevention, USkyBlock, ASkyBlock, WorldGuard, Factions, Vault]
version: 2.3.1
author: Songoda
commands:
epichoppers:
description: View information on this plugin.
default: true
aliases: [sc, eh, synccraft]
usage: /eh