v1.13
versioning
This commit is contained in:
1 parent
1808584f0d
commit
6bb1d5fabd
20 files changed
+288
-262
No files matched your search
@@ -0,0 +1,29 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="NeoPerformance-parent [clean,package]" type="MavenRunConfiguration"
|
||||
factoryName="Maven" nameIsGenerated="true">
|
||||
<MavenSettings>
|
||||
<option name="myGeneralSettings"/>
|
||||
<option name="myRunnerSettings"/>
|
||||
<option name="myRunnerParameters">
|
||||
<MavenRunnerParameters>
|
||||
<option name="profiles">
|
||||
<set/>
|
||||
</option>
|
||||
<option name="goals">
|
||||
<list>
|
||||
<option value="clean"/>
|
||||
<option value="package"/>
|
||||
</list>
|
||||
</option>
|
||||
<option name="pomFileName"/>
|
||||
<option name="profilesMap">
|
||||
<map/>
|
||||
</option>
|
||||
<option name="resolveToWorkspace" value="false"/>
|
||||
<option name="workingDirPath" value="$PROJECT_DIR$"/>
|
||||
</MavenRunnerParameters>
|
||||
</option>
|
||||
</MavenSettings>
|
||||
<method v="2"/>
|
||||
</configuration>
|
||||
</component>
|
||||
+7
-6
@@ -9,14 +9,9 @@
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>NeoPerformance-LEGACY</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-abstraction</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!--This adds the Spigot API artifact to the build -->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
@@ -24,5 +19,11 @@
|
||||
<version>1.8-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-abstraction</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.neomechanical.neoperformance.version.halt;
|
||||
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
|
||||
public class HaltWrapperLEGACY implements IHaltWrapper {
|
||||
@Override
|
||||
public void blockPhysics(BlockPhysicsEvent e) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProjectile(ProjectileHitEvent e) {
|
||||
e.getEntity().remove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerInteraction(PlayerInteractEvent e) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerCommand(ServerCommandEvent e) {
|
||||
if (!e.getSender().getName().equals("CONSOLE")) {
|
||||
e.setCommand("");
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.neomechanical.neoperformance.version.restore;
|
||||
|
||||
import com.neomechanical.neoperformance.version.heartbeat.IHeartBeat;
|
||||
import com.neomechanical.neoutils.NeoUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class HeartBeatWrapperLEGACY implements IHeartBeat {
|
||||
@Override
|
||||
public void restoreServer(LinkedHashMap<Player, Location> cachedTeleport, List<Location> cachedRedstoneActivity) {
|
||||
//run teleport cache
|
||||
for (Player player : cachedTeleport.keySet()) {
|
||||
if (player.isOnline()) {
|
||||
player.teleport(cachedTeleport.get(player));
|
||||
}
|
||||
}
|
||||
if (cachedRedstoneActivity.size() > 0) {
|
||||
NeoUtils.getInstance().getFancyLogger().warn("Redstone restoration was attempted, however, this feature isn't supported on your minecraft version");
|
||||
}
|
||||
}
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package com.neomechanical.neoperformance.version.restore;
|
||||
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.halt.CachedData;
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.managers.DataManager;
|
||||
import com.neomechanical.neoutils.NeoUtils;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class WrapperLEGACY implements HeartBeatWrapper {
|
||||
@Override
|
||||
public void restoreServer(CachedData cachedData, DataManager dataManager) {
|
||||
//run teleport cache
|
||||
for (Player player : cachedData.cachedTeleport.keySet()) {
|
||||
if (player.isOnline()) {
|
||||
player.teleport(cachedData.cachedTeleport.get(player));
|
||||
}
|
||||
}
|
||||
if (cachedData.cachedRedstoneActivity.size() > 0) {
|
||||
dataManager.setRestoringRedstone(true);
|
||||
NeoUtils.getInstance().getFancyLogger().warn("Redstone restoration was attempted, however, this feature isn't supported on your minecraft version");
|
||||
dataManager.setRestoringRedstone(false);
|
||||
//Clear the cache
|
||||
cachedData.cachedRedstoneActivity.clear();
|
||||
cachedData.cachedTeleport.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-6
@@ -9,14 +9,9 @@
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>NeoPerformance-NONLEGACY</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-abstraction</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!--This adds the Spigot API artifact to the build -->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
@@ -24,5 +19,11 @@
|
||||
<version>1.19.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-abstraction</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package com.neomechanical.neoperformance.version.halt;
|
||||
|
||||
import org.bukkit.block.data.AnaloguePowerable;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.Powerable;
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
|
||||
public class HaltWrapperNONLEGACY implements IHaltWrapper {
|
||||
@Override
|
||||
public void blockPhysics(BlockPhysicsEvent e) {
|
||||
BlockData blockData = e.getBlock().getBlockData();
|
||||
if (blockData instanceof AnaloguePowerable || blockData instanceof Powerable) {
|
||||
return;
|
||||
}
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProjectile(ProjectileHitEvent e) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerInteraction(PlayerInteractEvent e) {
|
||||
if (e.getHand() != EquipmentSlot.HAND) return;
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerCommand(ServerCommandEvent e) {
|
||||
if (!e.getSender().getName().equals("CONSOLE")) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-13
@@ -1,7 +1,6 @@
|
||||
package com.neomechanical.neoperformance.version.restore;
|
||||
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.halt.CachedData;
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.managers.DataManager;
|
||||
import com.neomechanical.neoperformance.version.heartbeat.IHeartBeat;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.data.AnaloguePowerable;
|
||||
@@ -9,19 +8,21 @@ import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.Powerable;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class WrapperNONLEGACY implements HeartBeatWrapper {
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class HeartBeatWrapperNONLEGACY implements IHeartBeat {
|
||||
|
||||
@Override
|
||||
public void restoreServer(CachedData cachedData, DataManager dataManager) {
|
||||
public void restoreServer(LinkedHashMap<Player, Location> cachedTeleport, List<Location> cachedRedstoneActivity) {
|
||||
//run teleport cache
|
||||
for (Player player : cachedData.cachedTeleport.keySet()) {
|
||||
for (Player player : cachedTeleport.keySet()) {
|
||||
if (player.isOnline()) {
|
||||
player.teleport(cachedData.cachedTeleport.get(player));
|
||||
player.teleport(cachedTeleport.get(player));
|
||||
}
|
||||
}
|
||||
if (cachedData.cachedRedstoneActivity.size() > 0) {
|
||||
dataManager.setRestoringRedstone(true);
|
||||
for (Location location : cachedData.cachedRedstoneActivity) {
|
||||
if (cachedRedstoneActivity.size() > 0) {
|
||||
for (Location location : cachedRedstoneActivity) {
|
||||
try {
|
||||
Block block = location.getBlock();
|
||||
BlockData data = block.getBlockData();
|
||||
@@ -42,10 +43,6 @@ public class WrapperNONLEGACY implements HeartBeatWrapper {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
dataManager.setRestoringRedstone(false);
|
||||
//Clear the cache
|
||||
cachedData.cachedRedstoneActivity.clear();
|
||||
cachedData.cachedTeleport.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.neomechanical.neoperformance.version.halt;
|
||||
|
||||
import com.neomechanical.neoutils.version.VersionWrapper;
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
|
||||
public interface IHaltWrapper extends VersionWrapper {
|
||||
void blockPhysics(BlockPhysicsEvent e);
|
||||
|
||||
void onProjectile(ProjectileHitEvent e);
|
||||
|
||||
void onPlayerInteraction(PlayerInteractEvent e);
|
||||
|
||||
void onServerCommand(ServerCommandEvent e);
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.neomechanical.neoperformance.version.heartbeat;
|
||||
|
||||
import com.neomechanical.neoutils.version.VersionWrapper;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
public interface IHeartBeat extends VersionWrapper {
|
||||
void restoreServer(LinkedHashMap<Player, Location> cachedTeleport, List<Location> cachedRedstoneActivity);
|
||||
}
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
package com.neomechanical.neoperformance.version.restore;
|
||||
|
||||
import com.neomechanical.neoutils.version.VersionWrapper;
|
||||
|
||||
public interface HeartBeatWrapper extends VersionWrapper {
|
||||
void restoreServer(CachedData cachedData, DataManager dataManager);
|
||||
}
|
||||
+14
-38
@@ -60,10 +60,22 @@
|
||||
<version>1.5</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-LEGACY</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-NONLEGACY</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-abstraction</artifactId>
|
||||
<version>1.13</version>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
@@ -81,45 +93,9 @@
|
||||
<url>https://maven.playpro.com</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>specialsource-maven-plugin</artifactId>
|
||||
<version>1.2.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>remap</goal>
|
||||
</goals>
|
||||
<id>remap-obf</id>
|
||||
<configuration>
|
||||
<srgIn>org.spigotmc:minecraft-server:1.19.2-R0.1-SNAPSHOT:txt:maps-mojang</srgIn>
|
||||
<reverse>true</reverse>
|
||||
<remappedDependencies>org.spigotmc:spigot:1.19.2-R0.1-SNAPSHOT:jar:remapped-mojang
|
||||
</remappedDependencies>
|
||||
<remappedArtifactAttached>true</remappedArtifactAttached>
|
||||
<remappedClassifierName>remapped-obf</remappedClassifierName>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>remap</goal>
|
||||
</goals>
|
||||
<id>remap-spigot</id>
|
||||
<configuration>
|
||||
<inputFile>
|
||||
${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
|
||||
</inputFile>
|
||||
<srgIn>org.spigotmc:minecraft-server:1.19.2-R0.1-SNAPSHOT:csrg:maps-spigot</srgIn>
|
||||
<remappedDependencies>org.spigotmc:spigot:1.19.2-R0.1-SNAPSHOT:jar:remapped-obf
|
||||
</remappedDependencies>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
|
||||
@@ -18,14 +18,17 @@ import com.neomechanical.neoperformance.performanceOptimiser.performanceHeartBea
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.smart.smartNotifier.LagChecker;
|
||||
import com.neomechanical.neoperformance.utils.Logger;
|
||||
import com.neomechanical.neoperformance.utils.updates.UpdateChecker;
|
||||
import com.neomechanical.neoperformance.version.restore.HeartBeatWrapper;
|
||||
import com.neomechanical.neoperformance.version.halt.HaltWrapperLEGACY;
|
||||
import com.neomechanical.neoperformance.version.halt.HaltWrapperNONLEGACY;
|
||||
import com.neomechanical.neoperformance.version.halt.IHaltWrapper;
|
||||
import com.neomechanical.neoperformance.version.heartbeat.IHeartBeat;
|
||||
import com.neomechanical.neoperformance.version.restore.HeartBeatWrapperLEGACY;
|
||||
import com.neomechanical.neoperformance.version.restore.HeartBeatWrapperNONLEGACY;
|
||||
import com.neomechanical.neoutils.NeoUtils;
|
||||
import com.neomechanical.neoutils.languages.LanguageManager;
|
||||
import com.neomechanical.neoutils.version.VersionMatcher;
|
||||
import com.neomechanical.neoutils.version.VersionWrapper;
|
||||
import com.neomechanical.neoutils.version.Versioning;
|
||||
import com.neomechanical.neoutils.version.items.WrapperLEGACY;
|
||||
import com.neomechanical.neoutils.version.items.WrapperNONLEGACY;
|
||||
import com.neomechanical.neoutils.version.versions.Versions;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bstats.charts.SimplePie;
|
||||
@@ -76,13 +79,19 @@ public final class NeoPerformance extends NeoUtils {
|
||||
dataManager.loadTweakSettings(this);
|
||||
//Register versions
|
||||
new Versioning.VersioningBuilder("heartbeat")
|
||||
.addClass(Versions.vLEGACY.toString(), new WrapperLEGACY())
|
||||
.addClass(Versions.vNONLEGACY.toString(), new WrapperNONLEGACY())
|
||||
.addClass(Versions.vLEGACY.toString(), new HeartBeatWrapperLEGACY())
|
||||
.addClass(Versions.vNONLEGACY.toString(), new HeartBeatWrapperNONLEGACY())
|
||||
.setLegacyFunction((ver) -> !isUpToDate(ver, "1_12_R1"))
|
||||
.build()
|
||||
.register();
|
||||
new Versioning.VersioningBuilder("halt")
|
||||
.addClass(Versions.vLEGACY.toString(), new HaltWrapperLEGACY())
|
||||
.addClass(Versions.vNONLEGACY.toString(), new HaltWrapperNONLEGACY())
|
||||
.setLegacyFunction((ver) -> !isUpToDate(ver, "1_12_R1"))
|
||||
.build()
|
||||
.register();
|
||||
Map<String, VersionWrapper> mappedVersions = new VersionMatcher(getManagers().getVersionManager()).matchAll();
|
||||
heartBeat = new HeartBeat(this, dataManager, (HeartBeatWrapper) mappedVersions.get("heartbeat"));
|
||||
heartBeat = new HeartBeat(this, dataManager, (IHeartBeat) mappedVersions.get("heartbeat"));
|
||||
heartBeat.start();
|
||||
//Set language manager before majority as they depend on its messages.
|
||||
new RegisterLanguageManager(this).register();
|
||||
@@ -97,7 +106,7 @@ public final class NeoPerformance extends NeoUtils {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
registerOptimizers();
|
||||
registerOptimizers((IHaltWrapper) mappedVersions.get("halt"));
|
||||
}
|
||||
}.runTask(this);
|
||||
//Commands
|
||||
@@ -111,9 +120,9 @@ public final class NeoPerformance extends NeoUtils {
|
||||
metrics.addCustomChart(new SimplePie("halt_at_tps", () -> String.valueOf(getDataManager().getTweakData().getTpsHaltAt())));
|
||||
}
|
||||
|
||||
public void registerOptimizers() {
|
||||
public void registerOptimizers(IHaltWrapper iHaltWrapper) {
|
||||
//Register ability listeners
|
||||
getServer().getPluginManager().registerEvents(new HaltServer(this), this);
|
||||
getServer().getPluginManager().registerEvents(new HaltServer(this, iHaltWrapper), this);
|
||||
getServer().getPluginManager().registerEvents(new LagPrevention(this), this);
|
||||
new UpdateChecker(this, 103183).start();
|
||||
if (!(dataManager.getLagNotifierData().getRunInterval() < 1)) {
|
||||
@@ -121,6 +130,7 @@ public final class NeoPerformance extends NeoUtils {
|
||||
}
|
||||
Logger.info("NeoPerformance (By KyTDK) is enabled and using bStats!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPluginDisable() {
|
||||
// Plugin shutdown logic
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ public class PerformanceTweaksConfiguration {
|
||||
dataManager.setHaltData(new HaltData(booleans.get("allowJoinWhileHalted"), nums.get("maxSpeed"), booleans.get("haltTeleportation"),
|
||||
booleans.get("haltExplosions"), booleans.get("haltRedstone"), booleans.get("haltMobSpawning"),
|
||||
booleans.get("haltInventoryMovement"), booleans.get("haltCommandBlock"), booleans.get("haltItemDrops"), booleans.get("haltBlockBreaking"),
|
||||
booleans.get("haltPlayerInteractions"), booleans.get("haltProjectiles"), booleans.get("haltEntityBreeding"), booleans.get("haltEntityInteractions"),
|
||||
booleans.get("haltPlayerInteractions"), booleans.get("haltProjectiles"), booleans.get("haltEntityInteractions"),
|
||||
booleans.get("haltEntityTargeting"), booleans.get("haltVehicleCollisions"), booleans.get("haltBlockPhysics"), nums.get("haltTimeout")));
|
||||
finishSection();
|
||||
//Set tweak data
|
||||
|
||||
+8
-23
@@ -6,11 +6,9 @@ import com.neomechanical.neoperformance.performanceOptimiser.utils.PerformanceCo
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.utils.TpsUtils;
|
||||
import com.neomechanical.neoperformance.utils.ActionBar;
|
||||
import com.neomechanical.neoperformance.utils.NPC;
|
||||
import com.neomechanical.neoperformance.version.halt.IHaltWrapper;
|
||||
import com.neomechanical.neoutils.messages.MessageUtil;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.data.AnaloguePowerable;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.Powerable;
|
||||
import org.bukkit.entity.Creature;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Item;
|
||||
@@ -22,7 +20,6 @@ import org.bukkit.event.inventory.InventoryMoveItemEvent;
|
||||
import org.bukkit.event.player.*;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
import org.bukkit.event.vehicle.VehicleEntityCollisionEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -32,10 +29,12 @@ public class HaltServer implements Listener {
|
||||
public static final CachedData cachedData = new CachedData();
|
||||
private final NeoPerformance plugin;
|
||||
private final DataManager dataManager;
|
||||
private final IHaltWrapper iHaltWrapper;
|
||||
|
||||
public HaltServer(NeoPerformance plugin) {
|
||||
public HaltServer(NeoPerformance plugin, IHaltWrapper iHaltWrapper) {
|
||||
this.plugin = plugin;
|
||||
this.dataManager = plugin.getDataManager();
|
||||
this.iHaltWrapper = iHaltWrapper;
|
||||
}
|
||||
|
||||
@EventHandler()
|
||||
@@ -132,9 +131,7 @@ public class HaltServer implements Listener {
|
||||
@EventHandler()
|
||||
public void onServerCommand(ServerCommandEvent e) {
|
||||
if (TpsUtils.isServerHalted(TpsUtils.getTPS(plugin), null, plugin) && dataManager.getHaltData().getHaltCommandBlock()) {
|
||||
if (!e.getSender().getName().equals("CONSOLE")) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
iHaltWrapper.onServerCommand(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,8 +156,7 @@ public class HaltServer implements Listener {
|
||||
@EventHandler()
|
||||
public void onPlayerInteraction(PlayerInteractEvent e) {
|
||||
if (TpsUtils.isServerHalted(TpsUtils.getTPS(plugin), e.getPlayer(), plugin) && dataManager.getHaltData().getHaltPlayerInteractions()) {
|
||||
if (e.getHand() != EquipmentSlot.HAND) return;
|
||||
e.setCancelled(true);
|
||||
iHaltWrapper.onPlayerInteraction(e);
|
||||
MessageUtil.sendMM(e.getPlayer(), getLanguageManager().getString("halted.onPlayerInteract", null));
|
||||
new ActionBar().SendComponentToPlayer(e.getPlayer(), getLanguageManager().getString("halted.actionBarMessage", null));
|
||||
}
|
||||
@@ -169,7 +165,7 @@ public class HaltServer implements Listener {
|
||||
@EventHandler()
|
||||
public void onProjectile(ProjectileHitEvent e) {
|
||||
if (TpsUtils.isServerHalted(TpsUtils.getTPS(plugin), null, plugin) && dataManager.getHaltData().getHaltProjectiles()) {
|
||||
e.setCancelled(true);
|
||||
iHaltWrapper.onProjectile(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,13 +185,6 @@ public class HaltServer implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler()
|
||||
public void onEntityBread(EntityBreedEvent e) {
|
||||
if (TpsUtils.isServerHalted(TpsUtils.getTPS(plugin), null, plugin) && dataManager.getHaltData().getHaltEntityBreeding()) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler()
|
||||
public void onEntityInteract(EntityInteractEvent e) {
|
||||
if (TpsUtils.isServerHalted(TpsUtils.getTPS(plugin), null, plugin) && dataManager.getHaltData().getHaltEntityInteractions()) {
|
||||
@@ -223,12 +212,8 @@ public class HaltServer implements Listener {
|
||||
|
||||
@EventHandler()
|
||||
public void blockPhysics(BlockPhysicsEvent e) {
|
||||
BlockData blockData = e.getBlock().getBlockData();
|
||||
if (blockData instanceof AnaloguePowerable || blockData instanceof Powerable) {
|
||||
return;
|
||||
}
|
||||
if (TpsUtils.isServerHalted(TpsUtils.getTPS(plugin), null, plugin) && dataManager.getHaltData().getHaltBlockPhysics()) {
|
||||
e.setCancelled(true);
|
||||
iHaltWrapper.blockPhysics(e);
|
||||
}
|
||||
}
|
||||
@EventHandler()
|
||||
|
||||
-1
@@ -18,7 +18,6 @@ public class HaltData {
|
||||
private @NotNull Boolean haltBlockBreaking;
|
||||
private @NotNull Boolean haltPlayerInteractions;
|
||||
private @NotNull Boolean haltProjectiles;
|
||||
private @NotNull Boolean haltEntityBreeding;
|
||||
private @NotNull Boolean haltEntityInteractions;
|
||||
private @NotNull Boolean haltEntityTargeting;
|
||||
private @NotNull Boolean haltVehicleCollisions;
|
||||
|
||||
+5
-5
@@ -6,7 +6,7 @@ import com.neomechanical.neoperformance.performanceOptimiser.halt.HaltServer;
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.managers.DataManager;
|
||||
import com.neomechanical.neoperformance.performanceOptimiser.utils.TpsUtils;
|
||||
import com.neomechanical.neoperformance.utils.mail.EmailClient;
|
||||
import com.neomechanical.neoperformance.version.restore.HeartBeatWrapper;
|
||||
import com.neomechanical.neoperformance.version.heartbeat.IHeartBeat;
|
||||
import com.neomechanical.neoutils.messages.MessageUtil;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
@@ -17,13 +17,13 @@ public class HeartBeat {
|
||||
private final CachedData cachedData = HaltServer.cachedData;
|
||||
private final NeoPerformance plugin;
|
||||
private final DataManager dataManager;
|
||||
private final HeartBeatWrapper heartBeatWrapper;
|
||||
private final IHeartBeat iHeartBeat;
|
||||
private double tps;
|
||||
|
||||
public HeartBeat(NeoPerformance plugin, DataManager dataManager, HeartBeatWrapper heartBeatWrapper) {
|
||||
public HeartBeat(NeoPerformance plugin, DataManager dataManager, IHeartBeat iHeartBeat) {
|
||||
this.plugin = plugin;
|
||||
this.dataManager = dataManager;
|
||||
this.heartBeatWrapper = heartBeatWrapper;
|
||||
this.iHeartBeat = iHeartBeat;
|
||||
}
|
||||
|
||||
public double getUpdatedTPS() {
|
||||
@@ -80,7 +80,7 @@ public class HeartBeat {
|
||||
}
|
||||
halted[0] = false;
|
||||
haltStartTime[0] = 0;
|
||||
heartBeatWrapper.restoreServer(cachedData, dataManager);
|
||||
iHeartBeat.restoreServer(cachedData.cachedTeleport, cachedData.cachedRedstoneActivity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ halt_settings:
|
||||
# [haltPlayerInteraction] This will also prevent block placement as that is also a player interaction
|
||||
haltPlayerInteractions: false
|
||||
haltProjectiles: true
|
||||
haltEntityBreeding: false
|
||||
haltEntityInteractions: true
|
||||
# [haltEntityTargeting] Some lag machines may stop working if this is set to true
|
||||
haltEntityTargeting: true
|
||||
|
||||
+60
-126
@@ -1,58 +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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.neoperformance</groupId>
|
||||
<artifactId>NeoPerformance</artifactId>
|
||||
<version>1.12.8</version>
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<filtering>true</filtering>
|
||||
<directory>api/src/main/resources</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>specialsource-maven-plugin</artifactId>
|
||||
<version>1.2.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>remap-obf</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>remap</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<srgIn>org.spigotmc:minecraft-server:1.19.2-R0.1-SNAPSHOT:txt:maps-mojang</srgIn>
|
||||
<reverse>true</reverse>
|
||||
<remappedDependencies>org.spigotmc:spigot:1.19.2-R0.1-SNAPSHOT:jar:remapped-mojang</remappedDependencies>
|
||||
<remappedArtifactAttached>true</remappedArtifactAttached>
|
||||
<remappedClassifierName>remapped-obf</remappedClassifierName>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>remap-spigot</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>remap</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<inputFile>${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar</inputFile>
|
||||
<srgIn>org.spigotmc:minecraft-server:1.19.2-R0.1-SNAPSHOT:csrg:maps-spigot</srgIn>
|
||||
<remappedDependencies>org.spigotmc:spigot:1.19.2-R0.1-SNAPSHOT:jar:remapped-obf</remappedDependencies>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.7.0</version>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.neomechanical</groupId>
|
||||
<artifactId>NeoPerformance-parent</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>NeoPerformance</name>
|
||||
<version>1.13</version>
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<filtering>true</filtering>
|
||||
<directory>api/src/main/resources</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
@@ -65,77 +34,42 @@
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.bstats</pattern>
|
||||
<shadedPattern>com.neomechanical.neoperformance</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.neomechanical.neoconfig</pattern>
|
||||
<shadedPattern>com.neomechanical.neoperformance.neoconfig</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.neomechanical.neoutils</pattern>
|
||||
<shadedPattern>com.neomechanical.neoperformance.neoutils</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
<artifactSet>
|
||||
<includes>
|
||||
<include>com.sun.mail:javax.mail</include>
|
||||
<include>javax.activation:activation</include>
|
||||
<include>org.bstats</include>
|
||||
<include>com.neomechanical:NeoUtils</include>
|
||||
<include>com.neomechanical:NeoConfig</include>
|
||||
</includes>
|
||||
</artifactSet>
|
||||
</configuration>
|
||||
<configuration>
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.bstats</pattern>
|
||||
<shadedPattern>com.neomechanical.neoperformance</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.neomechanical.neoconfig</pattern>
|
||||
<shadedPattern>com.neomechanical.neoperformance.neoconfig</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.neomechanical.neoutils</pattern>
|
||||
<shadedPattern>com.neomechanical.neoperformance.neoutils</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
<artifactSet>
|
||||
<includes>
|
||||
<include>com.sun.mail:javax.mail</include>
|
||||
<include>javax.activation:activation</include>
|
||||
<include>org.bstats</include>
|
||||
<include>com.neomechanical:NeoUtils</include>
|
||||
<include>com.neomechanical:NeoConfig</include>
|
||||
</includes>
|
||||
</artifactSet>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>spigot-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>Maven.playpro.com</id>
|
||||
<url>https://maven.playpro.com</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.19.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot</artifactId>
|
||||
<version>1.19.2-R0.1-SNAPSHOT</version>
|
||||
<classifier>remapped-mojang</classifier>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains</groupId>
|
||||
<artifactId>annotations-java5</artifactId>
|
||||
<version>23.0.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.24</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<properties>
|
||||
<java.version>8</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
</plugins>
|
||||
</build>
|
||||
<modules>
|
||||
<module>api</module>
|
||||
<module>LEGACY</module>
|
||||
<module>NONLEGACY</module>
|
||||
<module>abstraction</module>
|
||||
</modules>
|
||||
<properties>
|
||||
<java.version>8</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
</project>
|
||||
Reference in new issue
Block a user