本文整理汇总了Java中net.minecraftforge.event.entity.player.FillBucketEvent类的典型用法代码示例。如果您正苦于以下问题:Java FillBucketEvent类的具体用法?Java FillBucketEvent怎么用?Java FillBucketEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FillBucketEvent类属于net.minecraftforge.event.entity.player包,在下文中一共展示了FillBucketEvent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onPlayerUseBucket
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
/**
* Event listener for bucket using. When you place water or lava with
* bucket it doesn't considered place block action like with any other
* types of blocks.
*
* So here's my hack for placing water and lava blocks.
*/
@SubscribeEvent
public void onPlayerUseBucket(FillBucketEvent event)
{
EntityPlayer player = event.getEntityPlayer();
List<Action> events = CommonProxy.manager.getActions(player);
RayTraceResult target = event.getTarget();
if (!player.worldObj.isRemote && events != null && target != null && target.typeOfHit == Type.BLOCK)
{
Item bucket = event.getEmptyBucket().getItem();
BlockPos pos = target.getBlockPos().offset(target.sideHit);
if (bucket == Items.LAVA_BUCKET)
{
this.placeBlock(events, pos, Blocks.FLOWING_LAVA, 0);
}
else if (bucket == Items.WATER_BUCKET)
{
this.placeBlock(events, pos, Blocks.FLOWING_WATER, 0);
}
}
}
开发者ID:mchorse,项目名称:blockbuster,代码行数:30,代码来源:ActionHandler.java
示例2: onFillBucket
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onFillBucket(FillBucketEvent event) {
RayTraceResult rtr = event.getTarget();
if (rtr != null) {
Block b = event.getWorld().getBlockState(rtr.getBlockPos()).getBlock();
if (b instanceof IFluidBlock) {
Fluid fluid = ((IFluidBlock) b).getFluid();
ItemStack filled = FluidUtil.getFilledBucket(new FluidStack(fluid, 1000));
if (!filled.isEmpty()) {
event.setFilledBucket(FluidUtil.getFilledBucket(new FluidStack(fluid, 1000)));
event.getWorld().setBlockToAir(rtr.getBlockPos());
event.setResult(Result.ALLOW);
if (TileEntityRefinery.isInputFluidValid(fluid, 4) && event.getEntityPlayer() instanceof EntityPlayerMP) {
AdvancementTriggers.OIL_BUCKET.trigger((EntityPlayerMP) event.getEntityPlayer());
}
}
}
}
}
开发者ID:TeamPneumatic,项目名称:pnc-repressurized,代码行数:20,代码来源:EventHandlerPneumaticCraft.java
示例3: onBucketUse
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
public static ActionResult<ItemStack> onBucketUse(EntityPlayer player, World world, ItemStack stack, RayTraceResult target)
{
FillBucketEvent event = new FillBucketEvent(player, stack, world, target);
if (MinecraftForge.EVENT_BUS.post(event)) return new ActionResult<ItemStack>(EnumActionResult.FAIL, stack);
if (event.getResult() == Result.ALLOW)
{
if (player.capabilities.isCreativeMode)
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, stack);
if (--stack.stackSize <= 0)
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, event.getFilledBucket());
if (!player.inventory.addItemStackToInventory(event.getFilledBucket()))
player.dropItem(event.getFilledBucket(), false);
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, stack);
}
return null;
}
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:21,代码来源:ForgeEventFactory.java
示例4: onFillBucket
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onFillBucket(FillBucketEvent event) {
if(event.getEntityPlayer().isSneaking()) {
return;
}
if(event.getTarget() == null) {
return;
}
BlockPos pos = event.getTarget().getBlockPos();
if(!isPartOfTank(event.getWorld(), pos)) {
return;
}
event.setCanceled(true);
}
开发者ID:Lordmau5,项目名称:FFS,代码行数:19,代码来源:TankManager.java
示例5: onFillBucket
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
/**
* Troll user if they attempt to put volcanic lava in a bucket.
*/
@SubscribeEvent(priority = EventPriority.HIGH)
public static void onFillBucket(FillBucketEvent event)
{
if(event.getEntityPlayer() != null && !event.getWorld().isRemote)
{
RayTraceResult target = event.getTarget();
if(target != null && target.typeOfHit == RayTraceResult.Type.BLOCK)
{
if(target.getBlockPos() != null)
{
IBlockState state = event.getWorld().getBlockState(target.getBlockPos());
if(state.getBlock() instanceof LavaBlock)
{
event.getEntityPlayer().sendMessage(new TextComponentString(DENIALS[ThreadLocalRandom.current().nextInt(DENIALS.length)]));
event.setCanceled(true);
}
}
}
}
}
开发者ID:grondag,项目名称:Hard-Science,代码行数:24,代码来源:CommonEventHandler.java
示例6: onBucketFillAttempt
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFillAttempt(FillBucketEvent event){
if (event.entityPlayer.worldObj.isRemote)
return;
if (!ClaimsList.For(event.entity.worldObj).actionIsTrusted(event.entityPlayer, PermissionsMutex.USE_ITEMS, event.target.func_178782_a().getX(), event.target.func_178782_a().getY(), event.target.func_178782_a().getZ()))
event.setCanceled(true);
else
GriefGuardian._dal.logAction(
(EntityPlayerMP)event.entityPlayer,
Actions.ITEM_USE,
(int)Math.floor(event.entity.posX),
(int)Math.floor(event.entity.posY),
(int)Math.floor(event.entity.posZ),
event.entityPlayer.getCurrentEquippedItem(),
"");
}
开发者ID:Mithion,项目名称:GriefGuardian,代码行数:18,代码来源:ClaimGuardEventHandler.java
示例7: bucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@ForgeSubscribe
/**
* Called by ItemBucket when it tries to fill a bucket
* @param evt
*/
public void bucketFill(FillBucketEvent evt) {
if (evt.current.getItem().equals(Item.bucketEmpty) && evt.target.typeOfHit == EnumMovingObjectType.TILE) {
if (evt.world.canMineBlock(evt.entityPlayer, evt.target.blockX, evt.target.blockY, evt.target.blockZ)) {
if (evt.entityPlayer.canPlayerEdit(evt.target.blockX, evt.target.blockY, evt.target.blockZ, evt.target.sideHit, evt.current)) {
if (evt.world.getBlockId(evt.target.blockX, evt.target.blockY, evt.target.blockZ) == blockID) {
evt.world.setBlockToAir(evt.target.blockX, evt.target.blockY, evt.target.blockZ);
evt.result = new ItemStack(Magitech.instance.magibucket);
evt.setResult(Result.ALLOW);
}
}
}
}
}
开发者ID:froschi3b,项目名称:Magitech,代码行数:19,代码来源:BlockMagi.java
示例8: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent(priority = EventPriority.HIGH)
public void onBucketFill(FillBucketEvent evt) {
if (evt.getResult() != Result.DEFAULT) return;
if (evt.getEmptyBucket().getItem() != EMPTY_BUCKET) return;
final RayTraceResult target = evt.getTarget();
if (target == null || target.typeOfHit != RayTraceResult.Type.BLOCK) return;
final TileEntity te = evt.getWorld().getTileEntity(target.getBlockPos());
if (te == null) return;
if (te.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, target.sideHit)) {
final IFluidHandler source = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, target.sideHit);
final FluidStack drained = source.drain(containedFluid, false);
if (containedFluid.isFluidStackIdentical(drained)) {
source.drain(containedFluid, true);
evt.setFilledBucket(filledBucket.copy());
evt.setResult(Result.ALLOW);
}
}
}
开发者ID:OpenMods,项目名称:OpenModsLib,代码行数:24,代码来源:SingleFluidBucketFillHandler.java
示例9: checkReloadFromWater
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
private void checkReloadFromWater(ItemStack stack, World world, EntityPlayer player)
{
MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);
FillBucketEvent event = new FillBucketEvent(player, stack, world, movingobjectposition);
if (MinecraftForge.EVENT_BUS.post(event)) { return; }
MovingObjectPosition movObj = this.getMovingObjectPositionFromPlayer(world, player, true);
if (movObj == null) { return; } // Didn't click on anything in particular
else
{
if (movObj.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
{
int x = movObj.blockX;
int y = movObj.blockY;
int z = movObj.blockZ;
if (!world.canMineBlock(player, x, y, z)) { return; } // Not allowed to mine this, getting out of here
if (!player.canPlayerEdit(x, y, z, movObj.sideHit, stack)) { return; } // Not allowed to edit this, getting out of here
Material material = world.getBlock(x, y, z).getMaterial();
int meta = world.getBlockMetadata(x, y, z);
// Is this water?
if (material == Material.water && meta == 0)
{
world.setBlockToAir(x, y, z);
stack.setItemDamage(0);
return;
}
// else, not water
}
// else, didn't click on a block
}
}
开发者ID:Domochevsky,项目名称:minecraft-quiverbow,代码行数:38,代码来源:AquaAccelerator.java
示例10: onBucketUse
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketUse(FillBucketEvent event)
{
if (event.getWorld().isRemote) { return; }
RayTraceResult target = event.getTarget();
if (target == null) { return; } // Nevermind?
BlockPos pos = target.getBlockPos();
if (pos == null) { return; } // Nevermind?
Main.console("[TERRITORIAL DEALINGS] Bucket used by player " + event.getEntityPlayer().getName() + " at x " + pos.getX() + " / y " + pos.getY() + " / z " + pos.getZ() + ".");
Chunk chunk = event.getEntityPlayer().worldObj.getChunkFromBlockCoords(pos);
if (TerritoryHandler.canPlayerEditChunk(event.getEntityPlayer(), chunk)) // Checks out
{
Main.console("[TERRITORIAL DEALINGS] Player is allowed to edit this chunk. Doing nothing.");
}
else
{
Main.console("[TERRITORIAL DEALINGS] Player is not allowed to edit this chunk. Cancelling.");
event.setCanceled(true); // Not having it
}
}
开发者ID:Domochevsky,项目名称:minecraft-territorialdealings,代码行数:28,代码来源:EventListener.java
示例11: onBucketUse
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketUse(FillBucketEvent event)
{
if (event.getWorld().isRemote) { return; } // Not doing this on client side
RayTraceResult target = event.getTarget();
if (target == null) { return; } // Nevermind?
BlockPos pos = target.getBlockPos();
if (pos == null) { return; } // Nevermind?
Main.console("Bucket used by player " + event.getEntityPlayer().getName() + " (ID " + event.getEntityPlayer().getGameProfile().getId() + ") at x" + pos.getX() + " y" + pos.getY() + " z" + pos.getZ() + ".");
Chunk chunk = event.getEntityPlayer().worldObj.getChunkFromBlockCoords(pos);
if (TerritoryHandler.canPlayerEditChunk(event.getEntityPlayer().worldObj, event.getEntityPlayer(), chunk)) // Checks out
{
Main.console("Player is allowed to edit this chunk. Doing nothing.");
}
else
{
Main.console("Player is not allowed to edit this chunk. Cancelling.");
event.setCanceled(true); // Not having it
}
}
开发者ID:Domochevsky,项目名称:minecraft-territorialdealings,代码行数:28,代码来源:EventListener.java
示例12: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event)
{
MovingObjectPosition pos = event.target;
ItemStack ret = fillBucket(event.world, pos);
if (ret == null)
{
return;
}
event.result = ret;
event.setResult(Result.ALLOW);
}
开发者ID:4Space,项目名称:4Space-5,代码行数:16,代码来源:EventHandlerGC.java
示例13: onFillBucket
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onFillBucket(FillBucketEvent event)
{
ItemStack itemInHand = event.entityPlayer.getCurrentEquippedItem();
if(event.getResult() != Result.DENY && itemInHand.getItem() == TFCItems.woodenBucketEmpty)
{
if(event.result != null && event.result.getItem() == BuildCraftEnergy.bucketOil)
{
event.result = new ItemStack(TFPItems.CustomBucketOil);
}
}
}
开发者ID:StrayWolfe,项目名称:TerrafirmaPunk-Tweaks,代码行数:14,代码来源:PlayerInteractionHandler.java
示例14: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event) {
ItemStack result = fillCustomBucket(event.world, event.target);
if (result == null)
return;
event.result = result;
event.setResult(Event.Result.ALLOW);
}
开发者ID:austinv11,项目名称:DartCraft2,代码行数:12,代码来源:BucketHandler.java
示例15: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event) {
ItemStack result = fillCustomBucket(event.world, event.target);
if (result == null)
return;
event.result = result;
event.setResult(Result.ALLOW);
}
开发者ID:planetguy32,项目名称:Enterprise,代码行数:12,代码来源:FluidPrefab.java
示例16: bucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void bucketFill(FillBucketEvent event) {
//Prevent stupid shit in single player.
if(!event.world.isRemote){
MovingObjectPosition target = event.target;
//Have we clicked a tile with an empty bucket?
if (event.current.getItem() == Items.bucket && event.target.typeOfHit == MovingObjectType.BLOCK) {
//Is there an entry for this block's ID?
if(fluidToBucket.get(event.world.getBlock(target.blockX, target.blockY, target.blockZ)) != null) {
//Set our event's item to our fluid.
event.result = fluidToBucket.get(event.world.getBlock(target.blockX, target.blockY, target.blockZ)).copy();
//Allow this to happen.
event.setResult(Result.ALLOW);
//Set the block to 0 so we don't just have infinite liquid.
event.world.setBlockToAir(target.blockX, target.blockY, target.blockZ);
}
else {
//Nothing we recognize.
return;
}
}
else {
//Not an acceptable event.
return;
}
}
}
开发者ID:NotGyro,项目名称:WeirdScience,代码行数:28,代码来源:BucketEventManager.java
示例17: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event) {
ItemStack result = fillCustomBucket(event.world, event.target);
if (result == null)
return;
event.result = result;
event.setResult(Event.Result.ALLOW);
}
开发者ID:M4thG33k,项目名称:M4thThings,代码行数:12,代码来源:BucketHandler.java
示例18: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event)
{
IBlockState block = event.world.getBlockState(event.target.getBlockPos());
if (block.getBlock() == MBlocks.magma)
{
event.result = new ItemStack(MBlocks.magmaBucket);
event.world.setBlockToAir(event.target.getBlockPos());
event.setResult(Result.ALLOW);
}
}
开发者ID:MinestrapTeam,项目名称:Minestrappolation-4,代码行数:12,代码来源:MEventHandler.java
示例19: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event) {
if (event.getEntityPlayer() != null) {
Biome biome = event.getWorld().getBiomeForCoordsBody(event.getTarget().getBlockPos());
if (biome == Biomes.OCEAN || biome == Biomes.DEEP_OCEAN || biome == Biomes.FROZEN_OCEAN) {
event.setResult(Event.Result.ALLOW);
event.setFilledBucket(new ItemStack(PLItems.saltWaterBucket));
}
}
}
开发者ID:GoodTimeStudio,项目名称:Production-Line,代码行数:11,代码来源:PLEvent.java
示例20: onBucketFill
import net.minecraftforge.event.entity.player.FillBucketEvent; //导入依赖的package包/类
@SubscribeEvent
public void onBucketFill(FillBucketEvent event) {
Block block = event.world.getBlock(event.target.blockX, event.target.blockY, event.target.blockZ);
Item bucket = bucketMap.get(block);
if(bucket != null && event.world.getBlockMetadata(event.target.blockX, event.target.blockY, event.target.blockZ) == 0) {
event.world.setBlockToAir(event.target.blockX, event.target.blockY, event.target.blockZ);
event.result = new ItemStack(bucket);
bucket.hasContainerItem(event.result);
event.setResult(Result.ALLOW);
}
}
开发者ID:zmaster587,项目名称:AdvancedRocketry,代码行数:16,代码来源:BucketHandler.java
注:本文中的net.minecraftforge.event.entity.player.FillBucketEvent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论