Fixing Loader String Double Activation
Dieser Commit ist enthalten in:
Ursprung
bdb575b9c6
Commit
b6b92c4be9
@ -83,5 +83,5 @@ public class Detoloader {
|
||||
public static final int WOODEN_BUTTON = 30;
|
||||
public static final int PRESSURE_PLATE = 20;
|
||||
public static final int NOTE_BLOCK = 1;
|
||||
public static final int TRIPWIRE = 10;
|
||||
public static final int TRIPWIRE = 20;
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ package de.steamwar.bausystem.world;
|
||||
|
||||
import de.steamwar.bausystem.BauSystem;
|
||||
import de.steamwar.core.Core;
|
||||
import de.steamwar.core.VersionedCallable;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@ -64,6 +65,7 @@ public class AutoLoader extends IAutoLoader implements Listener {
|
||||
private int waitTicks;
|
||||
private ListIterator<LoaderAction> lastAction;
|
||||
private boolean setup;
|
||||
private Location lastLocation;
|
||||
|
||||
private AutoLoader(Player player){
|
||||
this.player = player;
|
||||
@ -166,16 +168,19 @@ public class AutoLoader extends IAutoLoader implements Listener {
|
||||
if(!setup || !event.getPlayer().equals(player))
|
||||
return;
|
||||
|
||||
Detoloader detoloader = null;
|
||||
switch(Core.getVersion()){
|
||||
case 15:
|
||||
detoloader = AutoLoader_15.onPlayerInteractLoader(event);
|
||||
break;
|
||||
default:
|
||||
detoloader = AutoLoader_12.onPlayerInteractLoader(event);
|
||||
Detoloader detoloader = VersionedCallable.call(
|
||||
new VersionedCallable<>(() ->
|
||||
AutoLoader_12.onPlayerInteractLoader(event), 12),
|
||||
new VersionedCallable<>(() ->
|
||||
AutoLoader_15.onPlayerInteractLoader(event), 15));
|
||||
|
||||
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)
|
||||
new IAutoLoader.RedstoneActivation(this, event.getClickedBlock().getLocation()
|
||||
, detoloader.getActivation() == 0 ? getLastActivation() : detoloader.getActivation()
|
||||
@ -185,6 +190,7 @@ public class AutoLoader extends IAutoLoader implements Listener {
|
||||
, detoloader.getActivation());
|
||||
print(detoloader.addBack ? "§e" + detoloader.getBlock() + " betätigt" :
|
||||
detoloader.getBlock(), detoloader.addBack);
|
||||
lastLocation = event.getClickedBlock().getLocation();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren