9
0
mirror of https://github.com/Xiao-MoMi/Custom-Crops.git synced 2025-12-27 19:09:09 +00:00

[API] Added some API methods

This commit is contained in:
XiaoMoMi
2024-04-22 01:43:04 +08:00
parent cd9431183f
commit 484f4ec24d
3 changed files with 50 additions and 0 deletions

View File

@@ -18,6 +18,7 @@
package net.momirealms.customcrops.api;
import net.momirealms.customcrops.api.manager.*;
import net.momirealms.customcrops.api.mechanic.world.season.Season;
import net.momirealms.customcrops.api.scheduler.Scheduler;
import org.bukkit.plugin.java.JavaPlugin;

View File

@@ -26,6 +26,7 @@ import net.momirealms.customcrops.api.mechanic.world.level.*;
import org.bukkit.Chunk;
import org.bukkit.World;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Optional;
@@ -103,6 +104,28 @@ public interface WorldManager extends Reloadable {
Optional<CustomCropsBlock> getBlockAt(SimpleLocation location);
WorldCrop createCropData(SimpleLocation location, Crop crop, int point);
default WorldCrop createCropData(SimpleLocation location, Crop crop) {
return createCropData(location, crop, 0);
}
WorldSprinkler createSprinklerData(SimpleLocation location, Sprinkler sprinkler, int water);
default WorldSprinkler createSprinklerData(SimpleLocation location, Sprinkler sprinkler) {
return createSprinklerData(location, sprinkler, 0);
}
WorldPot createPotData(SimpleLocation location, Pot pot, int water, @Nullable Fertilizer fertilizer, int fertilizerTimes);
default WorldPot createPotData(SimpleLocation location, Pot pot) {
return createPotData(location, pot, 0, null, 0);
}
WorldGlass createGreenhouseGlassData(SimpleLocation location);
WorldScarecrow createScarecrowData(SimpleLocation location);
void addWaterToSprinkler(@NotNull Sprinkler sprinkler, @NotNull SimpleLocation location, int amount);
void addFertilizerToPot(@NotNull Pot pot, @NotNull Fertilizer fertilizer, @NotNull SimpleLocation location);

View File

@@ -29,6 +29,7 @@ import net.momirealms.customcrops.api.mechanic.world.level.*;
import net.momirealms.customcrops.api.util.LogUtils;
import net.momirealms.customcrops.mechanic.world.adaptor.BukkitWorldAdaptor;
import net.momirealms.customcrops.mechanic.world.adaptor.SlimeWorldAdaptor;
import net.momirealms.customcrops.mechanic.world.block.*;
import net.momirealms.customcrops.util.ConfigUtils;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
@@ -288,6 +289,31 @@ public class WorldManagerImpl implements WorldManager, Listener {
return cWorld.getBlockAt(location);
}
@Override
public WorldCrop createCropData(SimpleLocation location, Crop crop, int point) {
return new MemoryCrop(location, crop.getKey(), point);
}
@Override
public WorldSprinkler createSprinklerData(SimpleLocation location, Sprinkler sprinkler, int water) {
return new MemorySprinkler(location, sprinkler.getKey(), water);
}
@Override
public WorldPot createPotData(SimpleLocation location, Pot pot, int water, Fertilizer fertilizer, int fertilizerTimes) {
return new MemoryPot(location, pot.getKey(), water, fertilizer == null ? "" : fertilizer.getKey(), fertilizerTimes);
}
@Override
public WorldGlass createGreenhouseGlassData(SimpleLocation location) {
return new MemoryGlass(location);
}
@Override
public WorldScarecrow createScarecrowData(SimpleLocation location) {
return new MemoryScarecrow(location);
}
@Override
public void addWaterToSprinkler(@NotNull Sprinkler sprinkler, @NotNull SimpleLocation location, int amount) {
CWorld cWorld = loadedWorlds.get(location.getWorldName());