From 8217949fa297c829d9b77e5e8e52f204a22af6bb Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Fri, 16 Jul 2021 17:28:28 +0200 Subject: [PATCH] Initial commit. Captures block place and sapling grow events and prints info to the console. Initial configuration options are in place, definitions will be added. --- build.gradle | 2 +- src/main/java/com/volmit/iris/Iris.java | 2 ++ .../com/volmit/iris/core/SaplingManager.java | 29 +++++++++++++++++++ .../volmit/iris/engine/object/IrisRegion.java | 6 ++++ .../iris/engine/object/IrisSaplings.java | 18 ++++++++++++ 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/volmit/iris/core/SaplingManager.java create mode 100644 src/main/java/com/volmit/iris/engine/object/IrisSaplings.java diff --git a/build.gradle b/build.gradle index fada92362..31a793937 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group 'com.volmit.iris' -version '1.5' +version '1.5.1' def apiVersion = '1.17' def name = 'Iris' def main = 'com.volmit.iris.Iris' diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 171e90833..8f1e6d04c 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -78,6 +78,7 @@ public class Iris extends VolmitPlugin implements Listener { public static BKLink linkBK; public static MultiverseCoreLink linkMultiverseCore; public static MythicMobsLink linkMythicMobs; + public static SaplingManager saplingManager; private static final Queue syncJobs = new ShurikenQueue<>(); public static boolean customModels = doesSupportCustomModels(); public static boolean awareEntities = doesSupportAwareness(); @@ -233,6 +234,7 @@ public class Iris extends VolmitPlugin implements Listener { linkMultiverseCore = new MultiverseCoreLink(); linkBK = new BKLink(); linkMythicMobs = new MythicMobsLink(); + saplingManager = new SaplingManager(); edit = new EditManager(); configWatcher = new FileWatcher(getDataFile("settings.json")); J.a(() -> IO.delete(getTemp())); diff --git a/src/main/java/com/volmit/iris/core/SaplingManager.java b/src/main/java/com/volmit/iris/core/SaplingManager.java new file mode 100644 index 000000000..3fc5f90f5 --- /dev/null +++ b/src/main/java/com/volmit/iris/core/SaplingManager.java @@ -0,0 +1,29 @@ +package com.volmit.iris.core; + +import com.volmit.iris.Iris; +import org.bukkit.TreeType; +import org.bukkit.block.data.type.Sapling; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.world.StructureGrowEvent; + +import java.util.Objects; + +public class SaplingManager implements Listener { + + public SaplingManager() { + Iris.instance.registerListener(this); + } + + @EventHandler + public void onStructureGrowEvent(StructureGrowEvent event) { + if (event.getSpecies() == TreeType.JUNGLE) + Iris.info("Sapling grew @ " + event.getLocation() + " for " + event.getSpecies().name() + " bonemealed is " + event.isFromBonemeal() + " by player " + Objects.requireNonNull(event.getPlayer()).getName()); + } + + @EventHandler + public void onBlockPlaceEvent(BlockPlaceEvent event) { + Iris.info("Placed " + event.getBlock().getBlockData().getMaterial().name() + " @ " + event.getBlock().getLocation()); + } +} diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java b/src/main/java/com/volmit/iris/engine/object/IrisRegion.java index 47a587219..cbef49407 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisRegion.java @@ -79,6 +79,12 @@ public class IrisRegion extends IrisRegistrant implements IRare { @ArrayType(min = 1, type = IrisEntityInitialSpawn.class) private KList entityInitialSpawns = new KList<>(); + @Desc("Sapling override settings") + private IrisSaplings saplings = new IrisSaplings(); + + @Desc("Enable sapling overrides") + private boolean useSaplings = false; + @MinNumber(1) @MaxNumber(128) @Desc("The rarity of the region") diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSaplings.java b/src/main/java/com/volmit/iris/engine/object/IrisSaplings.java new file mode 100644 index 000000000..20211a651 --- /dev/null +++ b/src/main/java/com/volmit/iris/engine/object/IrisSaplings.java @@ -0,0 +1,18 @@ +package com.volmit.iris.engine.object; + +import com.volmit.iris.engine.object.annotations.Desc; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +@NoArgsConstructor +@AllArgsConstructor +@Desc("Sapling override settings") +@Data +public class IrisSaplings { + + + +}