Skip to content
This repository has been archived by the owner on Sep 18, 2022. It is now read-only.

Commit

Permalink
Added starter kit
Browse files Browse the repository at this point in the history
  • Loading branch information
KaiKikuchi committed Oct 19, 2016
1 parent 84228a6 commit aef6dcf
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 8 deletions.
7 changes: 2 additions & 5 deletions src/main/java/net/kaikk/mc/betterkits/bukkit/BetterKits.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.plugin.java.JavaPlugin;
/* TODO
* /kitinfo command?
* preventing duplicate kits creation?
* */

public class BetterKits extends JavaPlugin {
private static BetterKits instance;
private Config config;
Expand All @@ -35,7 +32,7 @@ public void onEnable() {
this.loadData();
Messages.load(this, "messages.yml");

this.getServer().getPluginManager().registerEvents(new EventListener(), this);
this.getServer().getPluginManager().registerEvents(new EventListener(this), this);

// commands executor
CommandExec ce = new CommandExec(this);
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/net/kaikk/mc/betterkits/bukkit/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

public class Config {
public Set<Material> allowedChests = new HashSet<Material>();
public String kitTitleFormat;
public String kitTitleFormat, starterKitName;

public Config(JavaPlugin instance) {
instance.saveDefaultConfig();
Expand All @@ -24,5 +24,6 @@ public Config(JavaPlugin instance) {
}

kitTitleFormat = instance.getConfig().getString("KitTitleFormat", "&4%name");
starterKitName = instance.getConfig().getString("StarterKit", "starter");
}
}
17 changes: 17 additions & 0 deletions src/main/java/net/kaikk/mc/betterkits/bukkit/EventListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,29 @@
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerJoinEvent;

public class EventListener implements Listener {
private BetterKits instance;

public EventListener(BetterKits instance) {
this.instance = instance;
}

@EventHandler(ignoreCancelled=true)
public void onInventoryClick(InventoryClickEvent event) {
if (event.getInventory().getHolder() instanceof Kit) {
event.setCancelled(true);
}
}

@EventHandler(ignoreCancelled=true)
public void onPlayerJoin(PlayerJoinEvent event) {
if (!event.getPlayer().hasPlayedBefore()) {
Kit kit = instance.getKit(instance.config().starterKitName);
if (kit != null) {
kit.give(event.getPlayer());
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public void onGameInitialization(GameInitializationEvent event) throws Exception
TypeSerializers.getDefaultSerializers().registerType(TypeToken.of(PlayerData.class), new PlayerDataSerializer());

// Register listener
Sponge.getEventManager().registerListeners(this, new EventListener());
Sponge.getEventManager().registerListeners(this, new EventListener(this));

// Register command
Sponge.getCommandManager().register(this,
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/net/kaikk/mc/betterkits/sponge/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@

public class Config {
public Set<BlockType> allowedChests = new HashSet<BlockType>();
public String starterKitName;

public Config(BetterKits instance) throws Exception {
//load defaults
URL defaultsInJarURL = new URL("jar:file:/"+Sponge.getPluginManager().fromInstance(instance).get().getSource().get()+"!/config.yml");
Expand All @@ -35,6 +37,7 @@ public Config(BetterKits instance) throws Exception {
}
}

starterKitName = rootNode.getNode("StarterKit").getString("starter");
}
}

18 changes: 18 additions & 0 deletions src/main/java/net/kaikk/mc/betterkits/sponge/EventListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,30 @@

import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.item.inventory.ClickInventoryEvent;
import org.spongepowered.api.event.network.ClientConnectionEvent;

public class EventListener {
private BetterKits instance;

public EventListener(BetterKits instance) {
this.instance = instance;
}

@Listener
public void onInventoryClick(ClickInventoryEvent event) {
if (event.getCause().containsNamed("BetterKits")) {
event.setCancelled(true);
}
}

@Listener
public void onPlayerJoin(ClientConnectionEvent.Join event) {
if (System.currentTimeMillis()-event.getTargetEntity().getJoinData().firstPlayed().get().toEpochMilli()<1000) {
Kit kit = instance.getKit(instance.config().starterKitName);
if (kit != null) {
instance.logger().warn("Giving default kit "+instance.config().starterKitName+" to "+event.getTargetEntity().getName());
kit.give(event.getTargetEntity());
}
}
}
}
3 changes: 2 additions & 1 deletion src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ AllowedChests:
- CHEST
- TRAPPED_CHEST

KitTitleFormat: "&4%name"
KitTitleFormat: "&4%name"
StarterKit: "starter"

0 comments on commit aef6dcf

Please sign in to comment.