mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-11-24 03:25:24 +01:00
Added no-physics-gravel, no-physics-sand, and allow-portal-anywhere.
This commit is contained in:
parent
eb78b390ca
commit
c3eef60672
@ -54,6 +54,15 @@ WorldGuard on your server. You can either restart your server or use
|
|||||||
creating a 5x5x5 cuboid free of water. Increasing the number will
|
creating a 5x5x5 cuboid free of water. Increasing the number will
|
||||||
increase server load exponentially, although 3-5 has fairly low impact.
|
increase server load exponentially, although 3-5 has fairly low impact.
|
||||||
|
|
||||||
|
- no-physics-gravel (def. false)
|
||||||
|
Prevents gravel from falling due to gravity.
|
||||||
|
|
||||||
|
- no-physics-sand (def. false)
|
||||||
|
Prevents sand from falling due to gravity.
|
||||||
|
|
||||||
|
- allow-portal-anywhere (def. false)
|
||||||
|
Allows you to place portal blocks anywhere.
|
||||||
|
|
||||||
- enforce-single-session (def. true)
|
- enforce-single-session (def. true)
|
||||||
Enforce single sessions. If the player is already found to be on
|
Enforce single sessions. If the player is already found to be on
|
||||||
the server when s/he logs in, the other player will be kicked with
|
the server when s/he logs in, the other player will be kicked with
|
||||||
|
@ -85,6 +85,8 @@ public void initialize() {
|
|||||||
PluginListener.Priority.HIGH);
|
PluginListener.Priority.HIGH);
|
||||||
loader.addListener(PluginLoader.Hook.INVENTORY_CHANGE, listener, this,
|
loader.addListener(PluginLoader.Hook.INVENTORY_CHANGE, listener, this,
|
||||||
PluginListener.Priority.HIGH);
|
PluginListener.Priority.HIGH);
|
||||||
|
loader.addListener(PluginLoader.Hook.BLOCK_PHYSICS, listener, this,
|
||||||
|
PluginListener.Priority.MEDIUM);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -78,6 +78,9 @@ public class WorldGuardListener extends PluginListener {
|
|||||||
private Set<Integer> allowedLavaSpreadOver;
|
private Set<Integer> allowedLavaSpreadOver;
|
||||||
private Set<Integer> itemDropBlacklist;
|
private Set<Integer> itemDropBlacklist;
|
||||||
private boolean classicWater;
|
private boolean classicWater;
|
||||||
|
private boolean noPhysicsGravel;
|
||||||
|
private boolean noPhysicsSand;
|
||||||
|
private boolean allowPortalAnywhere;
|
||||||
private Blacklist blacklist;
|
private Blacklist blacklist;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -141,6 +144,9 @@ public void loadConfiguration() {
|
|||||||
spongeRadius = Math.max(1, properties.getInt("sponge-radius", 3)) - 1;
|
spongeRadius = Math.max(1, properties.getInt("sponge-radius", 3)) - 1;
|
||||||
blockLagFix = properties.getBoolean("block-lag-fix", false);
|
blockLagFix = properties.getBoolean("block-lag-fix", false);
|
||||||
itemDurability = properties.getBoolean("item-durability", true);
|
itemDurability = properties.getBoolean("item-durability", true);
|
||||||
|
noPhysicsGravel = properties.getBoolean("no-physics-gravel", false);
|
||||||
|
noPhysicsSand = properties.getBoolean("no-physics-sand", false);
|
||||||
|
allowPortalAnywhere = properties.getBoolean("allow-portal-anywhere", false);
|
||||||
|
|
||||||
// Console log configuration
|
// Console log configuration
|
||||||
boolean logConsole = properties.getBoolean("log-console", true);
|
boolean logConsole = properties.getBoolean("log-console", true);
|
||||||
@ -781,6 +787,34 @@ public boolean onFlow(Block blockFrom, Block blockTo) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the game is checking the physics for a certain block.
|
||||||
|
* This method is called frequently whenever a nearby block is changed,
|
||||||
|
* or if the block has just been placed.
|
||||||
|
* Currently the only supported blocks are sand, gravel and portals.
|
||||||
|
*
|
||||||
|
* @param block Block which requires special physics
|
||||||
|
* @param boolean true if this block has just been placed
|
||||||
|
* @return true if you do want to stop the default physics for this block
|
||||||
|
*/
|
||||||
|
public boolean onBlockPhysics(Block block, boolean placed) {
|
||||||
|
int id = block.getType();
|
||||||
|
|
||||||
|
if (id == 13 && noPhysicsGravel) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (id == 12 && noPhysicsSand) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (id == 90 && allowPortalAnywhere) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called on player disconnect
|
* Called on player disconnect
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user