Merge pull request 'Fixing Loader String Double Activation' (#159) from loader_string_interaction into master
Reviewed-by: YoyoNow <jwsteam@nidido.de>
Dieser Commit ist enthalten in:
Commit
230de54cbf
@ -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,25 +168,25 @@ 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(detoloader.useActive)
|
||||
|
||||
if (lastLocation != null && lastLocation.distance(event.getClickedBlock().getLocation()) <= 1) return;
|
||||
|
||||
if (detoloader.useActive) {
|
||||
new IAutoLoader.RedstoneActivation(this, event.getClickedBlock().getLocation()
|
||||
, detoloader.getActivation() == 0 ? getLastActivation() : detoloader.getActivation()
|
||||
, detoloader.isActive());
|
||||
else
|
||||
} else {
|
||||
new IAutoLoader.TemporaryActivation(this, event.getClickedBlock().getLocation()
|
||||
, 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