mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 13:16:45 +01:00
add more sensibly named API for grabbing the UserBlockTracker
This commit is contained in:
parent
8b82163e3d
commit
9b09f06ad8
@ -1,4 +1,7 @@
|
|||||||
Version 2.2.013
|
Version 2.2.013
|
||||||
|
(API) Deprecated com.gmail.nossr50.mcMMO.getPlaceStore
|
||||||
|
(API) Added com.gmail.nossr50.mcMMO.getUserBlockTracker
|
||||||
|
(API) Added com.gmail.nossr50.mcMMO.getChunkManager
|
||||||
(API) Added new methods to com.gmail.nossr50.util.blockmeta.UserBlockTracker for easier readability
|
(API) Added new methods to com.gmail.nossr50.util.blockmeta.UserBlockTracker for easier readability
|
||||||
(API) Deprecated the old poorly named methods in UserBlockTracker
|
(API) Deprecated the old poorly named methods in UserBlockTracker
|
||||||
(Codebase) Cleaned up and organized unit tests relating to UserBlockTracker
|
(Codebase) Cleaned up and organized unit tests relating to UserBlockTracker
|
||||||
|
@ -310,7 +310,7 @@ public class BlockListener implements Listener {
|
|||||||
|
|
||||||
// Minecraft is dumb, the events still throw when a plant "grows" higher than the max block height. Even though no new block is created
|
// Minecraft is dumb, the events still throw when a plant "grows" higher than the max block height. Even though no new block is created
|
||||||
if (BlockUtils.isWithinWorldBounds(block)) {
|
if (BlockUtils.isWithinWorldBounds(block)) {
|
||||||
mcMMO.getPlaceStore().setEligible(block);
|
mcMMO.getUserBlockTracker().setEligible(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,14 +400,14 @@ public class BlockListener implements Listener {
|
|||||||
else if (BlockUtils.affectedBySuperBreaker(blockState)
|
else if (BlockUtils.affectedBySuperBreaker(blockState)
|
||||||
&& (ItemUtils.isPickaxe(heldItem) || ItemUtils.isHoe(heldItem))
|
&& (ItemUtils.isPickaxe(heldItem) || ItemUtils.isHoe(heldItem))
|
||||||
&& mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.MINING)
|
&& mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.MINING)
|
||||||
&& !mcMMO.getPlaceStore().isIneligible(blockState)) {
|
&& !mcMMO.getUserBlockTracker().isIneligible(blockState)) {
|
||||||
MiningManager miningManager = mcMMOPlayer.getMiningManager();
|
MiningManager miningManager = mcMMOPlayer.getMiningManager();
|
||||||
miningManager.miningBlockCheck(blockState);
|
miningManager.miningBlockCheck(blockState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* WOOD CUTTING */
|
/* WOOD CUTTING */
|
||||||
else if (BlockUtils.hasWoodcuttingXP(blockState) && ItemUtils.isAxe(heldItem)
|
else if (BlockUtils.hasWoodcuttingXP(blockState) && ItemUtils.isAxe(heldItem)
|
||||||
&& mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.WOODCUTTING) && !mcMMO.getPlaceStore().isIneligible(blockState)) {
|
&& mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.WOODCUTTING) && !mcMMO.getUserBlockTracker().isIneligible(blockState)) {
|
||||||
WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager();
|
WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager();
|
||||||
if (woodcuttingManager.canUseTreeFeller(heldItem)) {
|
if (woodcuttingManager.canUseTreeFeller(heldItem)) {
|
||||||
woodcuttingManager.processTreeFeller(blockState);
|
woodcuttingManager.processTreeFeller(blockState);
|
||||||
@ -422,7 +422,7 @@ public class BlockListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* EXCAVATION */
|
/* EXCAVATION */
|
||||||
else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.EXCAVATION) && !mcMMO.getPlaceStore().isIneligible(blockState)) {
|
else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.EXCAVATION) && !mcMMO.getUserBlockTracker().isIneligible(blockState)) {
|
||||||
ExcavationManager excavationManager = mcMMOPlayer.getExcavationManager();
|
ExcavationManager excavationManager = mcMMOPlayer.getExcavationManager();
|
||||||
excavationManager.excavationBlockCheck(blockState);
|
excavationManager.excavationBlockCheck(blockState);
|
||||||
|
|
||||||
@ -687,7 +687,7 @@ public class BlockListener implements Listener {
|
|||||||
|
|
||||||
if (UserManager.getPlayer(player).isDebugMode())
|
if (UserManager.getPlayer(player).isDebugMode())
|
||||||
{
|
{
|
||||||
if (mcMMO.getPlaceStore().isIneligible(blockState))
|
if (mcMMO.getUserBlockTracker().isIneligible(blockState))
|
||||||
player.sendMessage("[mcMMO DEBUG] This block is not natural and does not reward treasures/XP");
|
player.sendMessage("[mcMMO DEBUG] This block is not natural and does not reward treasures/XP");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -12,7 +12,8 @@ public class ChunkListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onChunkUnload(ChunkUnloadEvent event) {
|
public void onChunkUnload(ChunkUnloadEvent event) {
|
||||||
List<LivingEntity> matchingEntities = mcMMO.getTransientEntityTracker().getAllTransientEntitiesInChunk(event.getChunk());
|
List<LivingEntity> matchingEntities
|
||||||
|
= mcMMO.getTransientEntityTracker().getAllTransientEntitiesInChunk(event.getChunk());
|
||||||
for(LivingEntity livingEntity : matchingEntities) {
|
for(LivingEntity livingEntity : matchingEntities) {
|
||||||
mcMMO.getTransientEntityTracker().removeSummon(livingEntity, null, false);
|
mcMMO.getTransientEntityTracker().removeSummon(livingEntity, null, false);
|
||||||
}
|
}
|
||||||
|
@ -206,8 +206,8 @@ public class EntityListener implements Listener {
|
|||||||
if (entity instanceof FallingBlock || entity instanceof Enderman) {
|
if (entity instanceof FallingBlock || entity instanceof Enderman) {
|
||||||
boolean isTracked = entity.hasMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK);
|
boolean isTracked = entity.hasMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK);
|
||||||
|
|
||||||
if (mcMMO.getPlaceStore().isIneligible(block) && !isTracked) {
|
if (mcMMO.getUserBlockTracker().isIneligible(block) && !isTracked) {
|
||||||
mcMMO.getPlaceStore().setEligible(block);
|
mcMMO.getUserBlockTracker().setEligible(block);
|
||||||
|
|
||||||
entity.setMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK, MetadataConstants.MCMMO_METADATA_VALUE);
|
entity.setMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK, MetadataConstants.MCMMO_METADATA_VALUE);
|
||||||
TravelingBlockMetaCleanup metaCleanupTask = new TravelingBlockMetaCleanup(entity, pluginRef);
|
TravelingBlockMetaCleanup metaCleanupTask = new TravelingBlockMetaCleanup(entity, pluginRef);
|
||||||
@ -221,8 +221,8 @@ public class EntityListener implements Listener {
|
|||||||
//Redstone ore fire this event and should be ignored
|
//Redstone ore fire this event and should be ignored
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (mcMMO.getPlaceStore().isIneligible(block)) {
|
if (mcMMO.getUserBlockTracker().isIneligible(block)) {
|
||||||
mcMMO.getPlaceStore().setEligible(block);
|
mcMMO.getUserBlockTracker().setEligible(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -852,7 +852,7 @@ public class PlayerListener implements Listener {
|
|||||||
case "NETHER_WART_BLOCK":
|
case "NETHER_WART_BLOCK":
|
||||||
case "POTATO":
|
case "POTATO":
|
||||||
case "MANGROVE_PROPAGULE":
|
case "MANGROVE_PROPAGULE":
|
||||||
mcMMO.getPlaceStore().setEligible(blockState);
|
mcMMO.getUserBlockTracker().setEligible(blockState);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ public class WorldListener implements Listener {
|
|||||||
// Using 50 ms later as I do not know of a way to run one tick later (safely)
|
// Using 50 ms later as I do not know of a way to run one tick later (safely)
|
||||||
plugin.getFoliaLib().getImpl().runLater(() -> {
|
plugin.getFoliaLib().getImpl().runLater(() -> {
|
||||||
for (BlockState blockState : event.getBlocks()) {
|
for (BlockState blockState : event.getBlocks()) {
|
||||||
mcMMO.getPlaceStore().setEligible(blockState);
|
mcMMO.getUserBlockTracker().setEligible(blockState);
|
||||||
}
|
}
|
||||||
}, 1);
|
}, 1);
|
||||||
}
|
}
|
||||||
@ -48,7 +48,7 @@ public class WorldListener implements Listener {
|
|||||||
if (WorldBlacklist.isWorldBlacklisted(event.getWorld()))
|
if (WorldBlacklist.isWorldBlacklisted(event.getWorld()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
mcMMO.getPlaceStore().unloadWorld(event.getWorld());
|
mcMMO.getChunkManager().unloadWorld(event.getWorld());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -64,6 +64,6 @@ public class WorldListener implements Listener {
|
|||||||
|
|
||||||
Chunk chunk = event.getChunk();
|
Chunk chunk = event.getChunk();
|
||||||
|
|
||||||
mcMMO.getPlaceStore().chunkUnloaded(chunk.getX(), chunk.getZ(), event.getWorld());
|
mcMMO.getChunkManager().chunkUnloaded(chunk.getX(), chunk.getZ(), event.getWorld());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,7 @@ import com.gmail.nossr50.skills.salvage.salvageables.SimpleSalvageableManager;
|
|||||||
import com.gmail.nossr50.util.*;
|
import com.gmail.nossr50.util.*;
|
||||||
import com.gmail.nossr50.util.blockmeta.ChunkManager;
|
import com.gmail.nossr50.util.blockmeta.ChunkManager;
|
||||||
import com.gmail.nossr50.util.blockmeta.ChunkManagerFactory;
|
import com.gmail.nossr50.util.blockmeta.ChunkManagerFactory;
|
||||||
|
import com.gmail.nossr50.util.blockmeta.UserBlockTracker;
|
||||||
import com.gmail.nossr50.util.commands.CommandRegistrationManager;
|
import com.gmail.nossr50.util.commands.CommandRegistrationManager;
|
||||||
import com.gmail.nossr50.util.compat.CompatibilityManager;
|
import com.gmail.nossr50.util.compat.CompatibilityManager;
|
||||||
import com.gmail.nossr50.util.experience.FormulaManager;
|
import com.gmail.nossr50.util.experience.FormulaManager;
|
||||||
@ -443,6 +444,28 @@ public class mcMMO extends JavaPlugin {
|
|||||||
return formulaManager;
|
return formulaManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the {@link UserBlockTracker}.
|
||||||
|
* @return the {@link UserBlockTracker}
|
||||||
|
*/
|
||||||
|
public static UserBlockTracker getUserBlockTracker() {
|
||||||
|
return placeStore;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the chunk manager.
|
||||||
|
* @return the chunk manager
|
||||||
|
*/
|
||||||
|
public static ChunkManager getChunkManager() {
|
||||||
|
return placeStore;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the chunk manager.
|
||||||
|
* @deprecated Use {@link #getChunkManager()} or {@link #getUserBlockTracker()} instead.
|
||||||
|
* @return the chunk manager
|
||||||
|
*/
|
||||||
|
@Deprecated(since = "2.2.013", forRemoval = true)
|
||||||
public static ChunkManager getPlaceStore() {
|
public static ChunkManager getPlaceStore() {
|
||||||
return placeStore;
|
return placeStore;
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ public class StickyPistonTrackerTask extends CancellableRunnable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (!mcMMO.getPlaceStore().isIneligible(movedBlock.getRelative(direction))) {
|
if (!mcMMO.getUserBlockTracker().isIneligible(movedBlock.getRelative(direction))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ public class StickyPistonTrackerTask extends CancellableRunnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The sticky piston actually pulled the block so move the PlaceStore data
|
// The sticky piston actually pulled the block so move the PlaceStore data
|
||||||
mcMMO.getPlaceStore().setEligible(movedBlock.getRelative(direction));
|
mcMMO.getUserBlockTracker().setEligible(movedBlock.getRelative(direction));
|
||||||
BlockUtils.setUnnaturalBlock(movedBlock);
|
BlockUtils.setUnnaturalBlock(movedBlock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -282,7 +282,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
if (brokenPlant.getLocation().equals(originalBreak.getBlock().getLocation())) {
|
if (brokenPlant.getLocation().equals(originalBreak.getBlock().getLocation())) {
|
||||||
//If its the same block as the original, we are going to directly check it for being a valid XP gain and add it to the nonChorusBlocks list even if its a chorus block
|
//If its the same block as the original, we are going to directly check it for being a valid XP gain and add it to the nonChorusBlocks list even if its a chorus block
|
||||||
//This stops a delay from happening when bringing up the XP bar for chorus trees
|
//This stops a delay from happening when bringing up the XP bar for chorus trees
|
||||||
if (!mcMMO.getPlaceStore().isIneligible(originalBreak)) {
|
if (!mcMMO.getUserBlockTracker().isIneligible(originalBreak)) {
|
||||||
//Even if its a chorus block, the original break will be moved to nonChorusBlocks for immediate XP rewards
|
//Even if its a chorus block, the original break will be moved to nonChorusBlocks for immediate XP rewards
|
||||||
noDelayPlantBlocks.add(brokenPlant);
|
noDelayPlantBlocks.add(brokenPlant);
|
||||||
} else {
|
} else {
|
||||||
@ -335,7 +335,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
BlockData plantData = brokenPlantState.getBlockData();
|
BlockData plantData = brokenPlantState.getBlockData();
|
||||||
|
|
||||||
//Check for double drops
|
//Check for double drops
|
||||||
if (!mcMMO.getPlaceStore().isIneligible(brokenPlant)) {
|
if (!mcMMO.getUserBlockTracker().isIneligible(brokenPlant)) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
@ -413,7 +413,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
BlockState brokenBlockNewState = brokenPlantBlock.getState();
|
BlockState brokenBlockNewState = brokenPlantBlock.getState();
|
||||||
BlockData plantData = brokenBlockNewState.getBlockData();
|
BlockData plantData = brokenBlockNewState.getBlockData();
|
||||||
|
|
||||||
if (mcMMO.getPlaceStore().isIneligible(brokenBlockNewState)) {
|
if (mcMMO.getUserBlockTracker().isIneligible(brokenBlockNewState)) {
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Unnatural Blocks
|
* Unnatural Blocks
|
||||||
@ -427,7 +427,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Mark it as natural again as it is being broken
|
//Mark it as natural again as it is being broken
|
||||||
mcMMO.getPlaceStore().setEligible(brokenBlockNewState);
|
mcMMO.getUserBlockTracker().setEligible(brokenBlockNewState);
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
@ -489,9 +489,9 @@ public class HerbalismManager extends SkillManager {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mcMMO.getPlaceStore().isIneligible(brokenBlockNewState)) {
|
if (mcMMO.getUserBlockTracker().isIneligible(brokenBlockNewState)) {
|
||||||
//Mark it as natural again as it is being broken
|
//Mark it as natural again as it is being broken
|
||||||
mcMMO.getPlaceStore().setEligible(brokenBlockNewState);
|
mcMMO.getUserBlockTracker().setEligible(brokenBlockNewState);
|
||||||
} else {
|
} else {
|
||||||
//TODO: Do we care about chorus flower age?
|
//TODO: Do we care about chorus flower age?
|
||||||
//Calculate XP for the old type
|
//Calculate XP for the old type
|
||||||
|
@ -181,7 +181,7 @@ public class MiningManager extends SkillManager {
|
|||||||
//Containers usually have 0 XP unless someone edited their config in a very strange way
|
//Containers usually have 0 XP unless someone edited their config in a very strange way
|
||||||
if (ExperienceConfig.getInstance().getXp(PrimarySkillType.MINING, targetBlock) != 0
|
if (ExperienceConfig.getInstance().getXp(PrimarySkillType.MINING, targetBlock) != 0
|
||||||
&& !(targetBlock instanceof Container)
|
&& !(targetBlock instanceof Container)
|
||||||
&& !mcMMO.getPlaceStore().isIneligible(targetBlock)) {
|
&& !mcMMO.getUserBlockTracker().isIneligible(targetBlock)) {
|
||||||
if (BlockUtils.isOre(blockState)) {
|
if (BlockUtils.isOre(blockState)) {
|
||||||
ores.add(blockState);
|
ores.add(blockState);
|
||||||
} else {
|
} else {
|
||||||
@ -216,7 +216,7 @@ public class MiningManager extends SkillManager {
|
|||||||
|
|
||||||
Misc.spawnItem(getPlayer(), Misc.getBlockCenter(blockState), new ItemStack(blockState.getType()), ItemSpawnReason.BLAST_MINING_ORES); // Initial block that would have been dropped
|
Misc.spawnItem(getPlayer(), Misc.getBlockCenter(blockState), new ItemStack(blockState.getType()), ItemSpawnReason.BLAST_MINING_ORES); // Initial block that would have been dropped
|
||||||
|
|
||||||
if (mcMMO.p.getAdvancedConfig().isBlastMiningBonusDropsEnabled() && !mcMMO.getPlaceStore().isIneligible(blockState)) {
|
if (mcMMO.p.getAdvancedConfig().isBlastMiningBonusDropsEnabled() && !mcMMO.getUserBlockTracker().isIneligible(blockState)) {
|
||||||
for (int i = 1; i < dropMultiplier; i++) {
|
for (int i = 1; i < dropMultiplier; i++) {
|
||||||
// Bukkit.broadcastMessage("Bonus Drop on Ore: "+blockState.getType().toString());
|
// Bukkit.broadcastMessage("Bonus Drop on Ore: "+blockState.getType().toString());
|
||||||
Misc.spawnItem(getPlayer(), Misc.getBlockCenter(blockState), new ItemStack(blockState.getType()), ItemSpawnReason.BLAST_MINING_ORES_BONUS_DROP); // Initial block that would have been dropped
|
Misc.spawnItem(getPlayer(), Misc.getBlockCenter(blockState), new ItemStack(blockState.getType()), ItemSpawnReason.BLAST_MINING_ORES_BONUS_DROP); // Initial block that would have been dropped
|
||||||
|
@ -113,7 +113,7 @@ public class WoodcuttingManager extends SkillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processWoodcuttingBlockXP(@NotNull BlockState blockState) {
|
public void processWoodcuttingBlockXP(@NotNull BlockState blockState) {
|
||||||
if (mcMMO.getPlaceStore().isIneligible(blockState))
|
if (mcMMO.getUserBlockTracker().isIneligible(blockState))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int xp = getExperienceFromLog(blockState);
|
int xp = getExperienceFromLog(blockState);
|
||||||
@ -269,7 +269,7 @@ public class WoodcuttingManager extends SkillManager {
|
|||||||
* in treeFellerBlocks.
|
* in treeFellerBlocks.
|
||||||
*/
|
*/
|
||||||
private boolean processTreeFellerTargetBlock(@NotNull BlockState blockState, @NotNull List<BlockState> futureCenterBlocks, @NotNull Set<BlockState> treeFellerBlocks) {
|
private boolean processTreeFellerTargetBlock(@NotNull BlockState blockState, @NotNull List<BlockState> futureCenterBlocks, @NotNull Set<BlockState> treeFellerBlocks) {
|
||||||
if (treeFellerBlocks.contains(blockState) || mcMMO.getPlaceStore().isIneligible(blockState)) {
|
if (treeFellerBlocks.contains(blockState) || mcMMO.getUserBlockTracker().isIneligible(blockState)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -373,7 +373,7 @@ public class WoodcuttingManager extends SkillManager {
|
|||||||
* @return Amount of experience
|
* @return Amount of experience
|
||||||
*/
|
*/
|
||||||
private static int processTreeFellerXPGains(BlockState blockState, int woodCount) {
|
private static int processTreeFellerXPGains(BlockState blockState, int woodCount) {
|
||||||
if (mcMMO.getPlaceStore().isIneligible(blockState))
|
if (mcMMO.getUserBlockTracker().isIneligible(blockState))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int rawXP = ExperienceConfig.getInstance().getXp(PrimarySkillType.WOODCUTTING, blockState.getType());
|
int rawXP = ExperienceConfig.getInstance().getXp(PrimarySkillType.WOODCUTTING, blockState.getType());
|
||||||
|
@ -65,7 +65,7 @@ public final class BlockUtils {
|
|||||||
* @param block target block
|
* @param block target block
|
||||||
*/
|
*/
|
||||||
public static void setUnnaturalBlock(@NotNull Block block) {
|
public static void setUnnaturalBlock(@NotNull Block block) {
|
||||||
mcMMO.getPlaceStore().setIneligible(block);
|
mcMMO.getUserBlockTracker().setIneligible(block);
|
||||||
|
|
||||||
// Failsafe against lingering metadata
|
// Failsafe against lingering metadata
|
||||||
if (block.hasMetadata(MetadataConstants.METADATA_KEY_BONUS_DROPS))
|
if (block.hasMetadata(MetadataConstants.METADATA_KEY_BONUS_DROPS))
|
||||||
@ -82,7 +82,7 @@ public final class BlockUtils {
|
|||||||
block.removeMetadata(MetadataConstants.METADATA_KEY_REPLANT, mcMMO.p);
|
block.removeMetadata(MetadataConstants.METADATA_KEY_REPLANT, mcMMO.p);
|
||||||
}
|
}
|
||||||
|
|
||||||
mcMMO.getPlaceStore().setEligible(block);
|
mcMMO.getUserBlockTracker().setEligible(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains blockstore methods that are safe for external plugins to access.
|
* Contains blockstore methods that are safe for external plugins to access.
|
||||||
* An instance can be retrieved via {@link mcMMO#getPlaceStore() mcMMO.getPlaceStore()}
|
* An instance can be retrieved via {@link mcMMO#getUserBlockTracker() mcMMO.getPlaceStore()}
|
||||||
*/
|
*/
|
||||||
public interface UserBlockTracker {
|
public interface UserBlockTracker {
|
||||||
/**
|
/**
|
||||||
|
@ -74,7 +74,7 @@ public abstract class MMOTestEnvironment {
|
|||||||
|
|
||||||
// place store
|
// place store
|
||||||
chunkManager = mock(ChunkManager.class);
|
chunkManager = mock(ChunkManager.class);
|
||||||
when(mcMMO.getPlaceStore()).thenReturn(chunkManager);
|
when(mcMMO.getUserBlockTracker()).thenReturn(chunkManager);
|
||||||
|
|
||||||
// shut off mod manager for woodcutting
|
// shut off mod manager for woodcutting
|
||||||
when(mcMMO.getModManager()).thenReturn(mock(ModManager.class));
|
when(mcMMO.getModManager()).thenReturn(mock(ModManager.class));
|
||||||
|
Loading…
Reference in New Issue
Block a user