Refactor into maven modules

This commit is contained in:
Esophose 2019-03-29 21:59:10 -06:00
parent 8026babcdf
commit d8bd19a08a
70 changed files with 601 additions and 208 deletions

View File

@ -2,9 +2,9 @@ stages:
- build
variables:
name: "UltimateTimber"
path: "/builds/$CI_PROJECT_PATH"
version: "2.0.0"
name: "UltimateTimber"
path: "/builds/$CI_PROJECT_PATH"
version: "2.0.0"
build:
stage: build

View File

@ -1,4 +1,4 @@
Copyright (c) 2018 Brianna OKeefe
Copyright (c) 2019 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:

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.13.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.gmail.nossr50:mcmmo:1.5.09" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.gamingmesh:jobs:4.6.0" level="project" />
<orderEntry type="module" module-name="UltimateTimber-Core" />
</component>
</module>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.songoda.ultimatetimber</groupId>
<artifactId>UltimateTimber</artifactId>
<version>maven-version-number</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>UltimateTimber-CurrentAdapter</artifactId>
<packaging>jar</packaging>
<version>maven-version-number</version>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.13.2</version>
<scope>provided</scope>
</dependency>
<!--mcMMO-->
<dependency>
<groupId>com.gmail.nossr50</groupId>
<artifactId>mcmmo</artifactId>
<version>1.5.09</version>
<scope>provided</scope>
</dependency>
<!--Jobs Reborn-->
<dependency>
<groupId>com.gamingmesh</groupId>
<artifactId>jobs</artifactId>
<version>4.6.0</version>
<scope>provided</scope>
</dependency>
<!--UltimateTimber-Core Module-->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>UltimateTimber-Core</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,33 @@
package com.songoda.ultimatetimber.adapter.current.hooks;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.actions.BlockActionInfo;
import com.gamingmesh.jobs.container.ActionType;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.songoda.ultimatetimber.hook.TimberHook;
import com.songoda.ultimatetimber.tree.ITreeBlock;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.GameMode;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
public class CurrentJobsHook implements TimberHook {
@Override
public void apply(Player player, TreeBlockSet<Block> treeBlocks) throws Exception {
if (player.getGameMode().equals(GameMode.CREATIVE))
return;
// Replicate the same code that Jobs Reborn uses
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
for (ITreeBlock<Block> treeBlock : treeBlocks.getLogBlocks()) {
Block block = treeBlock.getBlock();
BlockActionInfo bInfo = new BlockActionInfo(block, ActionType.BREAK);
Jobs.action(jPlayer, bInfo, block);
}
}
}

View File

@ -0,0 +1,60 @@
package com.songoda.ultimatetimber.adapter.current.hooks;
import com.gmail.nossr50.api.ExperienceAPI;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.songoda.ultimatetimber.hook.TimberHook;
import com.songoda.ultimatetimber.tree.ITreeBlock;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import java.lang.reflect.Method;
public class CurrentMcMMOHook implements TimberHook {
private Enum<?> woodcuttingEnum;
private Method getXpMethod;
public CurrentMcMMOHook() throws NoSuchMethodException, SecurityException, ClassNotFoundException {
try { // Try to find mcMMO Overhaul
Class<?> primarySkillTypeClass = Class.forName("com.gmail.nossr50.datatypes.skills.PrimarySkillType");
for (Object enumValue : primarySkillTypeClass.getEnumConstants()) {
Enum<?> primarySkillTypeEnum = (Enum<?>) enumValue;
if (primarySkillTypeEnum.name().equals("WOODCUTTING")) {
this.woodcuttingEnum = primarySkillTypeEnum;
break;
}
}
this.getXpMethod = ExperienceConfig.class.getMethod("getXp", this.woodcuttingEnum.getClass(), Material.class);
} catch (Exception ex) {
Class<?> skillTypeClass = Class.forName("com.gmail.nossr50.datatypes.skills.SkillType");
for (Object enumValue : skillTypeClass.getEnumConstants()) {
Enum<?> skillTypeEnum = (Enum<?>) enumValue;
if (skillTypeEnum.name().equals("WOODCUTTING")) {
this.woodcuttingEnum = skillTypeEnum;
break;
}
}
this.getXpMethod = ExperienceConfig.class.getMethod("getXp", this.woodcuttingEnum.getClass(), Material.class);
}
}
@Override
public void apply(Player player, TreeBlockSet<Block> treeBlocks) throws Exception {
if (player.getGameMode().equals(GameMode.CREATIVE))
return;
int xp = 0;
for (ITreeBlock<Block> treeBlock : treeBlocks.getLogBlocks()) {
Block block = treeBlock.getBlock();
Material material = block.getType();
if (!material.name().endsWith("LOG")) continue;
xp += (int) this.getXpMethod.invoke(ExperienceConfig.getInstance(), this.woodcuttingEnum, material);
}
ExperienceAPI.addXP(player, "woodcutting", xp, "pve");
}
}

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.12.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.gmail.nossr50:mcmmo:1.5.09" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.gamingmesh:jobs:4.6.0" level="project" />
<orderEntry type="module" module-name="UltimateTimber-Core" />
</component>
</module>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.songoda.ultimatetimber</groupId>
<artifactId>UltimateTimber</artifactId>
<version>maven-version-number</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>UltimateTimber-LegacyAdapter</artifactId>
<packaging>jar</packaging>
<version>maven-version-number</version>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.12.2</version>
<scope>provided</scope>
</dependency>
<!--mcMMO-->
<dependency>
<groupId>com.gmail.nossr50</groupId>
<artifactId>mcmmo</artifactId>
<version>1.5.09</version>
<scope>provided</scope>
</dependency>
<!--Jobs Reborn-->
<dependency>
<groupId>com.gamingmesh</groupId>
<artifactId>jobs</artifactId>
<version>4.6.0</version>
<scope>provided</scope>
</dependency>
<!--UltimateTimber-Core Module-->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>UltimateTimber-Core</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -40,8 +40,7 @@ public class LegacyBlockData implements IBlockData {
@Override
public void setBlock(Block block) {
block.setType(this.material);
// TODO: Break into maven modules so this can use a 1.12.2 jar for compiling instead
// block.setData(this.data);
block.setData(this.data);
}
}

View File

@ -1,16 +1,17 @@
package com.songoda.ultimatetimber.hooks;
package com.songoda.ultimatetimber.adapter.legacy.hooks;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.actions.BlockActionInfo;
import com.gamingmesh.jobs.container.ActionType;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.songoda.ultimatetimber.hook.TimberHook;
import com.songoda.ultimatetimber.tree.ITreeBlock;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.GameMode;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
public class JobsHook implements TimberHook {
public class LegacyJobsHook implements TimberHook {
@Override
public void apply(Player player, TreeBlockSet<Block> treeBlocks) throws Exception {

View File

@ -1,7 +1,8 @@
package com.songoda.ultimatetimber.hooks;
package com.songoda.ultimatetimber.adapter.legacy.hooks;
import com.gmail.nossr50.api.ExperienceAPI;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.songoda.ultimatetimber.hook.TimberHook;
import com.songoda.ultimatetimber.tree.ITreeBlock;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.GameMode;
@ -11,12 +12,12 @@ import org.bukkit.entity.Player;
import java.lang.reflect.Method;
public class McMMOHook implements TimberHook {
public class LegacyMcMMOHook implements TimberHook {
private Enum<?> woodcuttingEnum;
private Method getXpMethod;
public McMMOHook() throws NoSuchMethodException, SecurityException, ClassNotFoundException {
public LegacyMcMMOHook() throws NoSuchMethodException, SecurityException, ClassNotFoundException {
try { // Try to find mcMMO Overhaul
Class<?> primarySkillTypeClass = Class.forName("com.gmail.nossr50.datatypes.skills.PrimarySkillType");
for (Object enumValue : primarySkillTypeClass.getEnumConstants()) {

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.13.2" level="project" />
</component>
</module>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.songoda.ultimatetimber</groupId>
<artifactId>UltimateTimber</artifactId>
<version>maven-version-number</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>UltimateTimber-Core</artifactId>
<packaging>jar</packaging>
<version>maven-version-number</version>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.13.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -5,7 +5,6 @@ import com.songoda.ultimatetimber.tree.TreeBlock;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
import java.util.Collection;

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.hooks;
package com.songoda.ultimatetimber.hook;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.block.Block;

View File

@ -1,6 +1,5 @@
package com.songoda.ultimatetimber.tree;
import com.songoda.ultimatetimber.UltimateTimber;
import org.bukkit.Location;
import org.bukkit.entity.FallingBlock;
import org.bukkit.inventory.ItemStack;
@ -11,12 +10,10 @@ public class FallingTreeBlock implements ITreeBlock<FallingBlock> {
private final FallingBlock fallingBlock;
private final TreeBlockType treeBlockType;
private final Collection<ItemStack> drops;
public FallingTreeBlock(TreeBlock originalTreeBlock, FallingBlock fallingBlock, TreeBlockType treeBlockType) {
public FallingTreeBlock(FallingBlock fallingBlock, TreeBlockType treeBlockType) {
this.fallingBlock = fallingBlock;
this.treeBlockType = treeBlockType;
this.drops = UltimateTimber.getInstance().getVersionAdapter().getBlockDrops(originalTreeBlock);
}
@Override
@ -29,11 +26,6 @@ public class FallingTreeBlock implements ITreeBlock<FallingBlock> {
return this.fallingBlock.getLocation();
}
@Override
public Collection<ItemStack> getDrops() {
return this.drops;
}
@Override
public TreeBlockType getTreeBlockType() {
return this.treeBlockType;

View File

@ -21,13 +21,6 @@ public interface ITreeBlock<BlockType> {
*/
Location getLocation();
/**
* Gets the items this TreeBlock naturally drops
*
* @return The ItemStack this TreeBlock naturally drops
*/
Collection<ItemStack> getDrops();
/**
* Gets what type of TreeBlock this is
*

View File

@ -1,6 +1,5 @@
package com.songoda.ultimatetimber.tree;
import com.songoda.ultimatetimber.UltimateTimber;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
@ -27,11 +26,6 @@ public class TreeBlock implements ITreeBlock<Block> {
return this.block.getLocation();
}
@Override
public Collection<ItemStack> getDrops() {
return UltimateTimber.getInstance().getVersionAdapter().getBlockDrops(this);
}
@Override
public TreeBlockType getTreeBlockType() {
return this.treeBlockType;

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.13.2" level="project" />
<orderEntry type="module" module-name="UltimateTimber-Core" />
<orderEntry type="module" module-name="Current" />
<orderEntry type="module" module-name="Legacy" />
</component>
</module>

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.songoda.ultimatetimber</groupId>
<artifactId>UltimateTimber</artifactId>
<version>maven-version-number</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>UltimateTimber-Plugin</artifactId>
<packaging>jar</packaging>
<version>maven-version-number</version>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.13.2</version>
<scope>provided</scope>
</dependency>
<!--UltimateTimber-Core Module-->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>UltimateTimber-Core</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<!--UltimateTimber-CurrentAdapter Module-->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>UltimateTimber-CurrentAdapter</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<!--UltimateTimber-LegacyAdapter Module-->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>UltimateTimber-LegacyAdapter</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>${parent.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<showDeprecation>false</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.tree.animation;
package com.songoda.ultimatetimber.animation;
import com.songoda.ultimatetimber.tree.DetectedTree;
import com.songoda.ultimatetimber.tree.TreeBlockSet;

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.tree.animation;
package com.songoda.ultimatetimber.animation;
import com.songoda.ultimatetimber.tree.DetectedTree;
import com.songoda.ultimatetimber.tree.TreeBlockSet;

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.tree.animation;
package com.songoda.ultimatetimber.animation;
import com.songoda.ultimatetimber.tree.DetectedTree;
import com.songoda.ultimatetimber.tree.TreeBlockSet;

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.tree.animation;
package com.songoda.ultimatetimber.animation;
import com.songoda.ultimatetimber.tree.DetectedTree;
import com.songoda.ultimatetimber.tree.TreeBlockSet;

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.tree.animation;
package com.songoda.ultimatetimber.animation;
import com.songoda.ultimatetimber.tree.DetectedTree;
import com.songoda.ultimatetimber.tree.TreeBlockSet;

View File

@ -1,4 +1,4 @@
package com.songoda.ultimatetimber.tree.animation;
package com.songoda.ultimatetimber.animation;
/**
* The types of tree animations that are available

View File

@ -1,28 +1,28 @@
package com.songoda.ultimatetimber.events;
import com.songoda.ultimatetimber.tree.DetectedTree;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerEvent;
/**
* Abstract tree event containing tree's blocks and broke block
*/
public abstract class TreeEvent extends PlayerEvent {
protected final DetectedTree detectedTree;
public TreeEvent(Player player, DetectedTree detectedTree) {
super(player);
this.detectedTree = detectedTree;
}
/**
* Get the tree blocks
*
* @return The blocks that are part of the tree
*/
public DetectedTree getDetectedTree() {
return this.detectedTree;
}
}
package com.songoda.ultimatetimber.events;
import com.songoda.ultimatetimber.tree.DetectedTree;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerEvent;
/**
* Abstract tree event containing tree's blocks and broke block
*/
public abstract class TreeEvent extends PlayerEvent {
protected final DetectedTree detectedTree;
public TreeEvent(Player player, DetectedTree detectedTree) {
super(player);
this.detectedTree = detectedTree;
}
/**
* Get the tree blocks
*
* @return The blocks that are part of the tree
*/
public DetectedTree getDetectedTree() {
return this.detectedTree;
}
}

View File

@ -1,40 +1,40 @@
package com.songoda.ultimatetimber.events;
import com.songoda.ultimatetimber.tree.DetectedTree;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
/**
* Called when a tree will fall
*/
public class TreeFallEvent extends TreeEvent implements Cancellable {
private boolean cancelled = false;
public TreeFallEvent(Player player, DetectedTree detectedTree) {
super(player, detectedTree);
}
private static final HandlerList handlers = new HandlerList();
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
}
package com.songoda.ultimatetimber.events;
import com.songoda.ultimatetimber.tree.DetectedTree;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
/**
* Called when a tree will fall
*/
public class TreeFallEvent extends TreeEvent implements Cancellable {
private boolean cancelled = false;
public TreeFallEvent(Player player, DetectedTree detectedTree) {
super(player, detectedTree);
}
private static final HandlerList handlers = new HandlerList();
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
}

View File

@ -1,27 +1,27 @@
package com.songoda.ultimatetimber.events;
import com.songoda.ultimatetimber.tree.DetectedTree;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
/**
* Called when a tree fell
*/
public class TreeFellEvent extends TreeEvent {
public TreeFellEvent(Player player, DetectedTree detectedTree) {
super(player, detectedTree);
}
private static final HandlerList handlers = new HandlerList();
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}
package com.songoda.ultimatetimber.events;
import com.songoda.ultimatetimber.tree.DetectedTree;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
/**
* Called when a tree fell
*/
public class TreeFellEvent extends TreeEvent {
public TreeFellEvent(Player player, DetectedTree detectedTree) {
super(player, detectedTree);
}
private static final HandlerList handlers = new HandlerList();
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}

View File

@ -1,7 +1,7 @@
package com.songoda.ultimatetimber.manager;
import com.songoda.ultimatetimber.UltimateTimber;
import com.songoda.ultimatetimber.utils.Methods;
import utils.Methods;
import org.bukkit.command.*;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;

View File

@ -1,9 +1,9 @@
package com.songoda.ultimatetimber.manager;
import com.songoda.ultimatetimber.UltimateTimber;
import com.songoda.ultimatetimber.hooks.JobsHook;
import com.songoda.ultimatetimber.hooks.McMMOHook;
import com.songoda.ultimatetimber.hooks.TimberHook;
import com.songoda.ultimatetimber.adapter.current.hooks.CurrentJobsHook;
import com.songoda.ultimatetimber.adapter.current.hooks.CurrentMcMMOHook;
import com.songoda.ultimatetimber.hook.TimberHook;
import com.songoda.ultimatetimber.tree.TreeBlockSet;
import org.bukkit.Bukkit;
import org.bukkit.block.Block;
@ -25,8 +25,8 @@ public class HookManager extends Manager {
public void reload() {
this.hooks.clear();
this.tryHook("mcMMO", McMMOHook.class);
this.tryHook("Jobs", JobsHook.class);
this.tryHook("mcMMO", CurrentMcMMOHook.class);
this.tryHook("Jobs", CurrentJobsHook.class);
}
@Override

View File

@ -1,6 +1,5 @@
package com.songoda.ultimatetimber.old_code;
import com.songoda.ultimatetimber.utils.WoodToLogConverter;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.block.Block;

View File

@ -1,7 +1,7 @@
package com.songoda.ultimatetimber.old_code;
import com.songoda.ultimatetimber.utils.LeafToSaplingConverter;
import com.songoda.ultimatetimber.utils.WoodToLogConverter;
import utils.LeafToSaplingConverter;
import utils.WoodToLogConverter;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;

View File

@ -1,7 +1,7 @@
package com.songoda.ultimatetimber.old_code;
import com.songoda.ultimatetimber.UltimateTimber;
import com.songoda.ultimatetimber.utils.WoodToLogConverter;
import utils.WoodToLogConverter;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/java" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

94
pom-old.xml Normal file
View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ultimatetimber</groupId>
<artifactId>UltimateTimber</artifactId>
<version>maven-version-number</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<finalName>UltimateTimber-${project.version}</finalName>
<defaultGoal>clean resources:resources package</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<file>${project.build.directory}/classes/plugin.yml</file>
<replacements>
<replacement>
<token>maven-version-number</token>
<value>${project.version}</value>
</replacement>
</replacements>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>songoda-repo</id>
<url>http://repo.songoda.com/artifactory/private</url>
</repository>
</repositories>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.13-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!--Bukkit API-->
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.13-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!--mcMMO-->
<dependency>
<groupId>com.gmail.nossr50</groupId>
<artifactId>mcmmo</artifactId>
<version>1.5.09</version>
<scope>provided</scope>
</dependency>
<!--Jobs Reborn-->
<dependency>
<groupId>com.gamingmesh</groupId>
<artifactId>jobs</artifactId>
<version>4.6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

74
pom.xml
View File

@ -4,17 +4,24 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ultimatetimber</groupId>
<groupId>com.songoda.ultimatetimber</groupId>
<artifactId>UltimateTimber</artifactId>
<packaging>pom</packaging>
<version>maven-version-number</version>
<modules>
<module>UltimateTimber-Adapter/Current</module>
<module>UltimateTimber-Adapter/Legacy</module>
<module>UltimateTimber/Core</module>
<module>UltimateTimber/Plugin</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<finalName>UltimateTimber-${project.version}</finalName>
<defaultGoal>clean resources:resources package</defaultGoal>
<defaultGoal>clean install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@ -25,70 +32,13 @@
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<file>${project.build.directory}/classes/plugin.yml</file>
<replacements>
<replacement>
<token>maven-version-number</token>
<value>${project.version}</value>
</replacement>
</replacements>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>songoda-repo</id>
<url>http://repo.songoda.com/artifactory/private</url>
<id>songoda-repo</id>
<url>http://repo.songoda.com/artifactory/private</url>
</repository>
</repositories>
<dependencies>
<!--Spigot API-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.13-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!--Bukkit API-->
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.13-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!--mcMMO-->
<dependency>
<groupId>com.gmail.nossr50</groupId>
<artifactId>mcmmo</artifactId>
<version>1.5.09</version>
<scope>provided</scope>
</dependency>
<!--Jobs Reborn-->
<dependency>
<groupId>com.gamingmesh</groupId>
<artifactId>jobs</artifactId>
<version>4.6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>