mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-22 00:19:24 +00:00
2.0-r8
This commit is contained in:
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = 'net.momirealms'
|
||||
version = '2.0-r7'
|
||||
version = '2.0-r8-hotfix'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
||||
@@ -106,6 +106,11 @@ public class MainConfig {
|
||||
public static String[] summerMsg;
|
||||
public static String[] autumnMsg;
|
||||
public static String[] winterMsg;
|
||||
public static boolean enableSeasonChangeCmd;
|
||||
public static String[] winterCmd;
|
||||
public static String[] springCmd;
|
||||
public static String[] summerCmd;
|
||||
public static String[] autumnCmd;
|
||||
public static String worldFolder;
|
||||
public static boolean rightHarvestVanilla;
|
||||
public static boolean preventPlantVanilla;
|
||||
@@ -174,6 +179,11 @@ public class MainConfig {
|
||||
summerMsg = config.getStringList("season-broadcast.summer").toArray(new String[0]);
|
||||
autumnMsg = config.getStringList("season-broadcast.autumn").toArray(new String[0]);
|
||||
winterMsg = config.getStringList("season-broadcast.winter").toArray(new String[0]);
|
||||
enableSeasonChangeCmd = config.getBoolean("season-change-command.enable", false);
|
||||
springCmd = config.getStringList("season-change-command.spring").toArray(new String[0]);
|
||||
summerCmd = config.getStringList("season-change-command.summer").toArray(new String[0]);
|
||||
autumnCmd = config.getStringList("season-change-command.autumn").toArray(new String[0]);
|
||||
winterCmd = config.getStringList("season-change-command.winter").toArray(new String[0]);
|
||||
|
||||
try {
|
||||
boneMealSuccess = Particle.valueOf(config.getString("mechanics.bone-meal.success-particle", "VILLAGER_HAPPY"));
|
||||
@@ -314,7 +324,7 @@ public class MainConfig {
|
||||
else {skillXP = new EcoSkillsHook();}
|
||||
}
|
||||
if (config.getBoolean("integration.JobsReborn")) {
|
||||
if (Bukkit.getPluginManager().getPlugin("JobsReborn") == null) Log.warn("Failed to initialize JobsReborn!");
|
||||
if (Bukkit.getPluginManager().getPlugin("Jobs") == null) Log.warn("Failed to initialize JobsReborn!");
|
||||
else {skillXP = new JobsRebornHook();}
|
||||
}
|
||||
realisticSeasonHook = false;
|
||||
|
||||
@@ -301,7 +301,7 @@ public class ItemsAdderWireHandler extends ItemsAdderHandler {
|
||||
event.setCancelled(true);
|
||||
CustomBlock.place(namespacedId, location);
|
||||
if (player.getGameMode() != GameMode.CREATIVE)
|
||||
CustomBlock.byAlreadyPlaced(location.getBlock()).getLoot().forEach(itemStack -> location.getWorld().dropItem(location.clone().add(0.5,0.2,0.5), itemStack));
|
||||
CustomBlock.byAlreadyPlaced(location.getBlock()).getLoot().forEach(itemStack -> location.getWorld().dropItemNaturally(location, itemStack));
|
||||
CustomBlock.remove(location);
|
||||
}
|
||||
|
||||
|
||||
@@ -96,35 +96,57 @@ public class InternalSeason extends Function implements SeasonInterface {
|
||||
return;
|
||||
}
|
||||
CCSeason oldSeason = seasonHashMap.put(world, season);
|
||||
if (!MainConfig.enableSeasonBroadcast) return;
|
||||
if (!MainConfig.enableSeasonBroadcast && !MainConfig.enableSeasonChangeCmd) return;
|
||||
if (oldSeason == null) return;
|
||||
// season changed
|
||||
if (oldSeason != season) {
|
||||
Collection<? extends Player> players;
|
||||
if (MainConfig.syncSeason) players = Bukkit.getOnlinePlayers();
|
||||
else players = world.getPlayers();
|
||||
if (MainConfig.enableSeasonBroadcast) {
|
||||
Collection<? extends Player> players;
|
||||
if (MainConfig.syncSeason) players = Bukkit.getOnlinePlayers();
|
||||
else players = world.getPlayers();
|
||||
|
||||
switch (season) {
|
||||
case SPRING -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.springMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
switch (season) {
|
||||
case SPRING -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.springMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
}
|
||||
});
|
||||
case SUMMER -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.summerMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
}
|
||||
});
|
||||
case AUTUMN -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.autumnMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
}
|
||||
});
|
||||
case WINTER -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.winterMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (MainConfig.enableSeasonChangeCmd) {
|
||||
switch (season) {
|
||||
case SPRING -> {
|
||||
for (String cmd : MainConfig.springCmd)
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
|
||||
}
|
||||
});
|
||||
case SUMMER -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.summerMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
case SUMMER -> {
|
||||
for (String cmd : MainConfig.summerCmd)
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
|
||||
}
|
||||
});
|
||||
case AUTUMN -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.autumnMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
case AUTUMN -> {
|
||||
for (String cmd : MainConfig.autumnCmd)
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
|
||||
}
|
||||
});
|
||||
case WINTER -> players.forEach(player -> {
|
||||
for (String msg : MainConfig.winterMsg) {
|
||||
AdventureUtil.playerMessage(player, msg);
|
||||
case WINTER -> {
|
||||
for (String cmd : MainConfig.winterCmd)
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,6 +88,9 @@ public class CropManager extends Function {
|
||||
this.worldListener = new WorldListener(this);
|
||||
this.armorStandUtil = new ArmorStandUtil(this);
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(itemSpawnListener, CustomCrops.plugin);
|
||||
Bukkit.getPluginManager().registerEvents(worldListener, CustomCrops.plugin);
|
||||
|
||||
loadMode();
|
||||
loadSeason();
|
||||
loadPacket();
|
||||
@@ -408,7 +411,9 @@ public class CropManager extends Function {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ItemStack getLoot(String id) {
|
||||
if (id == null) return null;
|
||||
if (MiscUtils.isVanillaItem(id)) return new ItemStack(Material.valueOf(id));
|
||||
else return customInterface.getItemStack(id);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.bukkit.event.world.WorldUnloadEvent;
|
||||
public record WorldListener(CropManager cropManager) implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onWorldUnload(WorldLoadEvent event) {
|
||||
public void onWorldLoad(WorldLoadEvent event) {
|
||||
cropManager.onWorldLoad(event.getWorld());
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#Don't change
|
||||
config-version: '13'
|
||||
config-version: '14'
|
||||
|
||||
# lang: english / spanish / chinese
|
||||
lang: english
|
||||
@@ -99,7 +99,7 @@ mechanics:
|
||||
# Season would not affect ripe crops(for better performance and friendly player's experience)
|
||||
season:
|
||||
enable: true
|
||||
# If you want all the worlds share the same season
|
||||
# If you want all the worlds to share the same season
|
||||
sync-seasons:
|
||||
enable: false
|
||||
world: world
|
||||
@@ -192,7 +192,7 @@ sounds:
|
||||
|
||||
# Hologram information
|
||||
hologram:
|
||||
# Pot infomation
|
||||
# Fertilizer infomation
|
||||
fertilizer-info:
|
||||
enable: true
|
||||
y-offset: 0.8
|
||||
@@ -233,6 +233,10 @@ season-broadcast:
|
||||
winter:
|
||||
- '<#87CEFA>Winter is coming!'
|
||||
|
||||
season-change-command:
|
||||
enable: false
|
||||
spring:
|
||||
- 'say spring is coming!'
|
||||
|
||||
|
||||
watering-can-lore:
|
||||
|
||||
Reference in New Issue
Block a user