Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 28 additions & 19 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.modnmetl</groupId>
<artifactId>virtualrealty</artifactId>
<version>2.5.0</version>
<version>2.5.3</version>
<packaging>jar</packaging>

<description>A plot creation and management plugin for Minecraft</description>
Expand Down Expand Up @@ -40,6 +40,10 @@
<pattern>org.apache.commons.io</pattern>
<shadedPattern>com.modnmetl.virtualrealty.utils.apache</shadedPattern>
</relocation>
<relocation>
<pattern>de.tr7zw.changeme</pattern>
<shadedPattern>com.modnmetl.virtualrealty.utils.nbtapi</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
Expand Down Expand Up @@ -72,6 +76,10 @@
</build>

<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>papermc-repo</id>
<url>https://papermc.io/repo/repository/maven-public/</url>
Expand Down Expand Up @@ -100,16 +108,11 @@
</repositories>

<dependencies>
<!--This adds the Spigot API artifact to the build -->
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>23.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigot</groupId>
<artifactId>spigot</artifactId>
<version>1.13.2</version>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand All @@ -124,6 +127,12 @@
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>23.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>eu.okaeri</groupId>
<artifactId>okaeri-configs-yaml-bukkit</artifactId>
Expand Down Expand Up @@ -160,12 +169,12 @@
<version>2.10.9</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.modnmetl</groupId>
<artifactId>virtualrealty-premium</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.modnmetl</groupId>-->
<!-- <artifactId>virtualrealty-premium</artifactId>-->
<!-- <version>2.1.0</version>-->
<!-- <scope>provided</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
Expand All @@ -174,14 +183,14 @@
</dependency>
<dependency>
<groupId>de.tr7zw</groupId>
<artifactId>item-nbt-api-plugin</artifactId>
<version>2.10.0</version>
<artifactId>item-nbt-api</artifactId>
<version>2.11.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
<version>4.0.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ public static class License extends OkaeriConfig {
@CustomKey("default-plot-gamemode")
public String plotGamemode = "SURVIVAL";

@Comment("Disable natural spawning of monster mobs in plots/areas")
@Comment("Disable natural spawning of all mobs in plots/areas")
public boolean disablePlotMobsSpawn = false;

@Comment("Disable natural spawning of all mobs in plots/areas")
@Comment("Disable natural spawning of monster mobs in plots/areas")
public boolean disablePlotMonsterSpawn = false;

@Comment("Worlds restrictions setting ( ALL | INCLUDED | EXCLUDED )")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.modnmetl.virtualrealty.model.region.GridStructure;
import com.modnmetl.virtualrealty.util.RegionUtil;
import com.modnmetl.virtualrealty.model.other.ChatMessage;
import de.tr7zw.nbtapi.NBTItem;
import de.tr7zw.changeme.nbtapi.NBTItem;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
Expand Down Expand Up @@ -68,7 +69,7 @@ public void run() {
@EventHandler
public void onPlotItemStake(PlayerInteractEvent e) {
Player player = e.getPlayer();
if (e.getHand() == EquipmentSlot.OFF_HAND) return;
if (!VirtualRealty.legacyVersion && e.getHand() == EquipmentSlot.OFF_HAND) return;
if (!(e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK)) return;
if (!DraftListener.DRAFT_MAP.containsKey(player)) return;
e.setCancelled(true);
Expand All @@ -90,7 +91,11 @@ public void onPlotItemStake(PlayerInteractEvent e) {
@Override
public void success() {
ItemStack plotItemStack = DraftListener.DRAFT_MAP.get(this.getSender()).getValue().getValue().getItemStack();
this.getSender().getInventory().remove(plotItemStack);
int firstPlotItemStack = this.getSender().getInventory().first(plotItemStack);
boolean foundItemStack = firstPlotItemStack != -1;
if (foundItemStack) {
this.getSender().getInventory().clear(firstPlotItemStack);
}
plot.setOwnedBy(this.getSender().getUniqueId());
plot.setOwnedUntilDate(LocalDateTime.now().plusDays(plotItem.getAdditionalDays()));
gridStructure.removeGrid();
Expand Down Expand Up @@ -132,7 +137,11 @@ public void expiry() {
public void success() {
PlotItem plotItem = DraftListener.DRAFT_MAP.get(this.getSender()).getValue().getKey();
ItemStack plotItemStack = DraftListener.DRAFT_MAP.get(this.getSender()).getValue().getValue().getItemStack();
this.getSender().getInventory().remove(plotItemStack);
int firstPlotItemStack = this.getSender().getInventory().first(plotItemStack);
boolean foundItemStack = firstPlotItemStack != -1;
if (foundItemStack) {
this.getSender().getInventory().clear(firstPlotItemStack);
}
if (plot.isOwnershipExpired())
plot.setOwnedUntilDate(LocalDateTime.now().plusDays(plotItem.getAdditionalDays()));
else
Expand Down Expand Up @@ -190,12 +199,23 @@ public void success() {
GridStructure gridStructure = DraftListener.DRAFT_MAP.get(this.getSender()).getKey();
PlotItem plotItem = DraftListener.DRAFT_MAP.get(this.getSender()).getValue().getKey();
PlotSize plotSize = plotItem.getPlotSize();
int length = plotItem.getLength();
int height = plotItem.getHeight();
int width = plotItem.getWidth();
ItemStack plotItemStack = DraftListener.DRAFT_MAP.get(this.getSender()).getValue().getValue().getItemStack();
NBTItem item = new NBTItem(plotItemStack);
gridStructure.removeGrid();
this.getSender().sendMessage(VirtualRealty.PREFIX + VirtualRealty.getMessages().notCollidingCreating);
long timeStart = System.currentTimeMillis();
Plot plot = PlotManager.getInstance().createPlot(gridStructure.getPreviewLocation().subtract(0, 1, 0), plotSize, plotItem.isNatural());
Plot plot;
Location location = gridStructure.getPreviewLocation().subtract(0, 1, 0);
if (plotSize == PlotSize.AREA) {
plot = PlotManager.getInstance().createArea(location, length, height, width);
} else if (plotSize == PlotSize.CUSTOM) {
plot = PlotManager.getInstance().createCustomPlot(location, length, height, width, plotItem.isNatural());
} else {
plot = PlotManager.getInstance().createPlot(location, plotSize, plotItem.isNatural());
}
AbstractMap.SimpleEntry<String, Byte> floorData = new AbstractMap.SimpleEntry<>(item.getString("vrplot_floor_material"), item.getByte("vrplot_floor_data"));
AbstractMap.SimpleEntry<String, Byte> borderData = new AbstractMap.SimpleEntry<>(item.getString("vrplot_border_material"), item.getByte("vrplot_border_data"));
if (!plotItem.isNatural()) {
Expand All @@ -213,7 +233,11 @@ public void success() {
} else {
plot.setOwnedUntilDate(LocalDateTime.now().plusDays(plotItem.getAdditionalDays()));
}
this.getSender().getInventory().remove(plotItemStack);
int firstPlotItemStack = this.getSender().getInventory().first(plotItemStack);
boolean foundItemStack = firstPlotItemStack != -1;
if (foundItemStack) {
this.getSender().getInventory().clear(firstPlotItemStack);
}
long timeEnd = System.currentTimeMillis();
BaseComponent textComponent = new TextComponent(VirtualRealty.PREFIX + VirtualRealty.getMessages().creationPlotComponent1);
BaseComponent textComponent2 = new TextComponent(VirtualRealty.getMessages().creationPlotComponent2.replaceAll("%plot_id%", String.valueOf(plot.getID())));
Expand Down Expand Up @@ -257,7 +281,7 @@ public void expiry() {
@EventHandler
public void onPlotItemDraft(PlayerInteractEvent e) {
Player player = e.getPlayer();
if (e.getHand() == EquipmentSlot.OFF_HAND) return;
if (!VirtualRealty.legacyVersion && e.getHand() == EquipmentSlot.OFF_HAND) return;
if (!(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
if (DraftListener.DRAFT_MAP.containsKey(player)) {
e.setCancelled(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public void onChat(AsyncPlayerChatEvent e) {
new BukkitRunnable() {
@Override
public void run() {
if (confirmation.getProceedText().equalsIgnoreCase(e.getMessage())) {
if (e.getMessage().matches(".*(?i)" + confirmation.getProceedText() +".*")) {
confirmation.success();
} else {
confirmation.failed();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.modnmetl.virtualrealty.listener.VirtualListener;
import com.modnmetl.virtualrealty.model.plot.PlotItem;
import com.modnmetl.virtualrealty.model.region.GridStructure;
import de.tr7zw.nbtapi.NBTItem;
import de.tr7zw.changeme.nbtapi.NBTItem;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ public enum DoorMaterial {
OAK_DOOR,
SPRUCE_DOOR

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class ChatMessage {

Expand All @@ -29,12 +30,20 @@ public static ChatMessage of(BaseComponent message) {
return new ChatMessage(message);
}

public void sendWithPrefix(CommandSender player) {
player.spigot().sendMessage(new TextComponent(VirtualRealty.PREFIX), message);
public void sendWithPrefix(CommandSender sender) {
if (sender instanceof Player) {
((Player)sender).spigot().sendMessage(new TextComponent(VirtualRealty.PREFIX), message);
} else {
sender.sendMessage(VirtualRealty.PREFIX + message.toLegacyText());
}
}

public void send(CommandSender player) {
player.spigot().sendMessage(message);
public void send(CommandSender sender) {
if (sender instanceof Player) {
((Player)sender).spigot().sendMessage(message);
} else {
sender.sendMessage(message.toLegacyText());
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.modnmetl.virtualrealty.model.other.VItem;
import com.modnmetl.virtualrealty.util.data.ItemBuilder;
import com.modnmetl.virtualrealty.util.data.SkullUtil;
import de.tr7zw.nbtapi.NBTItem;
import de.tr7zw.changeme.nbtapi.NBTItem;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.RequiredArgsConstructor;
Expand Down
42 changes: 38 additions & 4 deletions src/main/java/com/modnmetl/virtualrealty/sql/Database.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@
import javax.sql.DataSource;
import java.io.File;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;

public class Database {

Expand Down Expand Up @@ -68,6 +65,43 @@ private void createTables() {
} catch (Exception e) {
e.printStackTrace();
}
switch (this.dataModel) {
case MYSQL: {
try (Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("ALTER TABLE `" + VirtualRealty.getPluginConfiguration().mysql.plotsTableName + "` ADD COLUMN IF NOT EXISTS `depth` INT(24) AFTER `height`;")) {
ps.execute();
} catch (Exception e) {
e.printStackTrace();
}
break;
}
case SQLITE: {
// Check if the column already exists
boolean columnExists = false;
try (Connection conn = getConnection();
ResultSet rs = conn.createStatement().executeQuery("PRAGMA table_info(" + VirtualRealty.getPluginConfiguration().mysql.plotsTableName + ");")) {
while (rs.next()) {
if (rs.getString("name").equalsIgnoreCase("depth")) {
columnExists = true;
break;
}
}
} catch (Exception e) {
e.printStackTrace();
break;
}
if (!columnExists) {
// Column does not exist, so add it
try (Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("ALTER TABLE `" + VirtualRealty.getPluginConfiguration().mysql.plotsTableName + "` ADD COLUMN `depth` INT(24);")) {
ps.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
break;
}
}
}

public static void connectToDatabase(File databaseFile) throws SQLException {
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/modnmetl/virtualrealty/util/NBTUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.modnmetl.virtualrealty.util;

import de.tr7zw.changeme.nbtapi.NBTItem;

public class NBTUtil {

public static Class<NBTItem> nbtItemClass() {
return NBTItem.class;
}

}