Initial commit (Forge 1291).
This commit is contained in:
@ -0,0 +1,63 @@
|
||||
--- ../src-base/minecraft/net/minecraft/block/BlockPressurePlateWeighted.java
|
||||
+++ ../src-work/minecraft/net/minecraft/block/BlockPressurePlateWeighted.java
|
||||
@@ -5,6 +5,12 @@
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import java.util.List;
|
||||
+import net.minecraft.entity.player.EntityPlayer;
|
||||
+import org.bukkit.event.entity.EntityInteractEvent;
|
||||
+// CraftBukkit end
|
||||
+
|
||||
public class BlockPressurePlateWeighted extends BlockBasePressurePlate
|
||||
{
|
||||
private final int field_150068_a;
|
||||
@@ -18,18 +24,43 @@
|
||||
|
||||
protected int func_150065_e(World p_150065_1_, int p_150065_2_, int p_150065_3_, int p_150065_4_)
|
||||
{
|
||||
- int l = Math.min(p_150065_1_.getEntitiesWithinAABB(Entity.class, this.func_150061_a(p_150065_2_, p_150065_3_, p_150065_4_)).size(), this.field_150068_a);
|
||||
+ // CraftBukkit start
|
||||
+ int l = 0;
|
||||
+ java.util.Iterator iterator = p_150065_1_.getEntitiesWithinAABB(Entity.class, this.func_150061_a(p_150065_2_, p_150065_3_, p_150065_4_)).iterator();
|
||||
|
||||
- if (l <= 0)
|
||||
+ while (iterator.hasNext())
|
||||
{
|
||||
- return 0;
|
||||
+ Entity entity = (Entity) iterator.next();
|
||||
+ org.bukkit.event.Cancellable cancellable;
|
||||
+
|
||||
+ if (entity instanceof EntityPlayer)
|
||||
+ {
|
||||
+ cancellable = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent((EntityPlayer) entity, org.bukkit.event.block.Action.PHYSICAL, p_150065_2_, p_150065_3_, p_150065_4_, -1, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
+ cancellable = new EntityInteractEvent(entity.getBukkitEntity(), p_150065_1_.getWorld().getBlockAt(p_150065_2_, p_150065_3_, p_150065_4_));
|
||||
+ p_150065_1_.getServer().getPluginManager().callEvent((EntityInteractEvent) cancellable);
|
||||
+ }
|
||||
+
|
||||
+ // We only want to block turning the plate on if all events are cancelled
|
||||
+ if (!cancellable.isCancelled())
|
||||
+ {
|
||||
+ l++;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ l = Math.min(l, this.field_150068_a);
|
||||
+ // CraftBukkit end
|
||||
+
|
||||
+ if (l <= 0)
|
||||
+ {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
float f = (float)Math.min(this.field_150068_a, l) / (float)this.field_150068_a;
|
||||
return MathHelper.ceiling_float_int(f * 15.0F);
|
||||
}
|
||||
- }
|
||||
|
||||
protected int func_150060_c(int p_150060_1_)
|
||||
{
|
Reference in New Issue
Block a user