Class HackableMobSpawner
java.lang.Object
me.desht.pneumaticcraft.common.hacking.block.HackableMobSpawner
- All Implemented Interfaces:
IHackableBlock
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddInfo(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Add info that is displayed on the tracker tooltip here.voidaddPostHackInfo(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Add info to be displayed on the HUD after hacking is complete, as long asIHackableBlock.afterHackTick(BlockGetter, BlockPos)continues to returning true, e.g.booleanafterHackTick(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos) Called every tick after the hacking finished (on both server and client side).booleancanHack(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) Returning true will allow the player to hack this block.net.minecraft.resources.ResourceLocationGet a unique id to represent this hackable.intgetHackTime(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) Get the time it takes to hack this block in ticks.static booleanisHacked(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos) voidonHackComplete(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) When the player has been hacking the block forIHackableBlock.getHackTime(BlockGetter, BlockPos, Player)ticks, this will be called on both server and client side.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface me.desht.pneumaticcraft.api.client.pneumatic_helmet.IHackableBlock
fakeRayTrace
-
Constructor Details
-
HackableMobSpawner
public HackableMobSpawner()
-
-
Method Details
-
getHackableId
public net.minecraft.resources.ResourceLocation getHackableId()Description copied from interface:IHackableBlockGet a unique id to represent this hackable. Used in NBT saving to be able to trigger the afterHackTime after a server restart. Null is a valid return: afterHackTick will not be triggered at all in that case.The returned ResourceLocation should be in the namespace of the mod which adds the hack (which is not necessarily the mod that adds the hackable block).
CURRENTLY THIS ISN'T IMPLEMENTED.
- Specified by:
getHackableIdin interfaceIHackableBlock- Returns:
- a unique ID for this hack type
-
canHack
public boolean canHack(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableBlockReturning true will allow the player to hack this block. This can be used to only allow hacking under certain conditions.- Specified by:
canHackin interfaceIHackableBlock- Parameters:
world- the worldpos- the block posplayer- the player observing the block
-
isHacked
public static boolean isHacked(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos) -
addInfo
public void addInfo(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableBlockAdd info that is displayed on the tracker tooltip here. Text like "Hack to explode" can be added. This method is only called whenIHackableBlock.canHack(BlockGetter, BlockPos, Player)has returned true. Keep this message short; one short sentence is enough.- Specified by:
addInfoin interfaceIHackableBlock- Parameters:
world- the worldpos- the block pos of the to-be-hacked blockcurInfo- text component list to add info toplayer- the player observing the hackable block
-
addPostHackInfo
public void addPostHackInfo(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableBlockAdd info to be displayed on the HUD after hacking is complete, as long asIHackableBlock.afterHackTick(BlockGetter, BlockPos)continues to returning true, e.g. "Spawner Disabled". Keep this message short; one short sentence or even a couple of words is enough.- Specified by:
addPostHackInfoin interfaceIHackableBlock- Parameters:
world- the worldpos- the block pos of the hacked blockcurInfo- text component list to add info toplayer- the player observing the hacked block
-
getHackTime
public int getHackTime(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableBlockGet the time it takes to hack this block in ticks. For more powerful hacks, a longer hacking time is recommended.- Specified by:
getHackTimein interfaceIHackableBlock- Parameters:
world- the worldpos- the block posplayer- the player observing the hackable block
-
onHackComplete
public void onHackComplete(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableBlockWhen the player has been hacking the block forIHackableBlock.getHackTime(BlockGetter, BlockPos, Player)ticks, this will be called on both server and client side.- Specified by:
onHackCompletein interfaceIHackableBlock- Parameters:
world- the worldpos- the block posplayer- the player observing the hacked block
-
afterHackTick
public boolean afterHackTick(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos) Description copied from interface:IHackableBlockCalled every tick after the hacking finished (on both server and client side). Returning true will keep this going (for mob spawners, to keep them neutralized), or false to stop ticking for one-shot hacks (e.g. door/lever hacking).CURRENTLY THIS METHOD WILL STOP GETTING INVOKED AFTER A SERVER RESTART!
- Specified by:
afterHackTickin interfaceIHackableBlock- Parameters:
world- the worldpos- the block pos- Returns:
- true to keep the hack running (e.g. mob spawners), or false for one-shot hacks (e.g. levers/doors)
-