SteamWar/BauSystem
Archiviert
13
0

Fixing Loader String Double Activation

Dieser Commit ist enthalten in:
Chaoscaot 2021-01-05 16:13:37 +01:00
Ursprung bdb575b9c6
Commit b6b92c4be9
2 geänderte Dateien mit 15 neuen und 9 gelöschten Zeilen

Datei anzeigen

@ -83,5 +83,5 @@ public class Detoloader {
public static final int WOODEN_BUTTON = 30; public static final int WOODEN_BUTTON = 30;
public static final int PRESSURE_PLATE = 20; public static final int PRESSURE_PLATE = 20;
public static final int NOTE_BLOCK = 1; public static final int NOTE_BLOCK = 1;
public static final int TRIPWIRE = 10; public static final int TRIPWIRE = 20;
} }

Datei anzeigen

@ -21,6 +21,7 @@ package de.steamwar.bausystem.world;
import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.BauSystem;
import de.steamwar.core.Core; import de.steamwar.core.Core;
import de.steamwar.core.VersionedCallable;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
@ -64,6 +65,7 @@ public class AutoLoader extends IAutoLoader implements Listener {
private int waitTicks; private int waitTicks;
private ListIterator<LoaderAction> lastAction; private ListIterator<LoaderAction> lastAction;
private boolean setup; private boolean setup;
private Location lastLocation;
private AutoLoader(Player player){ private AutoLoader(Player player){
this.player = player; this.player = player;
@ -166,16 +168,19 @@ public class AutoLoader extends IAutoLoader implements Listener {
if(!setup || !event.getPlayer().equals(player)) if(!setup || !event.getPlayer().equals(player))
return; return;
Detoloader detoloader = null; Detoloader detoloader = VersionedCallable.call(
switch(Core.getVersion()){ new VersionedCallable<>(() ->
case 15: AutoLoader_12.onPlayerInteractLoader(event), 12),
detoloader = AutoLoader_15.onPlayerInteractLoader(event); new VersionedCallable<>(() ->
break; AutoLoader_15.onPlayerInteractLoader(event), 15));
default:
detoloader = AutoLoader_12.onPlayerInteractLoader(event);
if(detoloader == null || detoloader.getActivation() < 0)
return;
if(lastLocation != null && lastLocation.distance(event.getClickedBlock().getLocation()) <= 1) {
return;
} }
if(detoloader == null || detoloader.getActivation() < 0) return;
if(detoloader.useActive) if(detoloader.useActive)
new IAutoLoader.RedstoneActivation(this, event.getClickedBlock().getLocation() new IAutoLoader.RedstoneActivation(this, event.getClickedBlock().getLocation()
, detoloader.getActivation() == 0 ? getLastActivation() : detoloader.getActivation() , detoloader.getActivation() == 0 ? getLastActivation() : detoloader.getActivation()
@ -185,6 +190,7 @@ public class AutoLoader extends IAutoLoader implements Listener {
, detoloader.getActivation()); , detoloader.getActivation());
print(detoloader.addBack ? "§e" + detoloader.getBlock() + " betätigt" : print(detoloader.addBack ? "§e" + detoloader.getBlock() + " betätigt" :
detoloader.getBlock(), detoloader.addBack); detoloader.getBlock(), detoloader.addBack);
lastLocation = event.getClickedBlock().getLocation();
} }
@EventHandler @EventHandler