Difference between revisions of "Upcoming Release"

From LugdunonWiki
Jump to: navigation, search
Line 4: Line 4:
  
  
''Last Updated: 28/02/2017''
+
''Last Updated: 01/05/2017''
  
  
  
 
Mods altered in this update:
 
Mods altered in this update:
 +
*net.lugdunon.state.character.movement.free
 +
*net.lugdunon.elevation.editor.simple
 +
*net.lugdunon.world.defaults.audio
 +
*net.lugdunon.world.defaults.environment
 +
*net.lugdunon.world.defaults.character
 +
*net.lugdunon.world.defaults.compendium
 +
*net.lugdunon.world.clover.tui
  
  
  
 
Server mods altered in this update:
 
Server mods altered in this update:
 +
*net.lugdunon.server.worldgen.defaults
 +
*net.lugdunon.server.worldgen.procedural
  
  
  
 
/etc files altered in this update:
 
/etc files altered in this update:
 +
*achievements.json
 +
*areaOfEffectDefinitions.json
 +
*commands.json
 +
*environmentListeners.json
 +
*items.json
 +
*metrics.json
 +
*recipes.json
 +
*instances/0/instance.json
 +
*instanceTemplates/HIGHLAND_CAVERN/instance.json
 +
*instanceTemplates/LOWLAND_CAVERN/instance.json
 +
*instanceTemplates/MIDLAND_CAVERN/instance.json
 +
*vendors.json
  
  
  
 
Release Notes:
 
Release Notes:
 +
*Server 0.8.3 -> 0.8.4.
 +
*Client 0.8.3 -> 0.8.4.
 +
*net.lugdunon.state.character.movement.free 0.0.6 -> 0.0.7.
 +
*net.lugdunon.elevation.editor.simple 0.0.2 -> 0.0.3.
 +
*net.lugdunon.world.defaults.audio 0.0.2 -> 0.0.3.
 +
*net.lugdunon.world.defaults.environment 0.0.4 -> 0.1.0.
 +
*net.lugdunon.world.defaults.character 0.0.5 -> 0.0.6.
 +
*net.lugdunon.world.defaults.compendium 0.0.5 -> 0.0.6.
 +
*net.lugdunon.server.worldgen.defaults 0.0.12 -> 0.0.13.
 +
*net.lugdunon.server.worldgen.procedural 0.0.6 -> 0.0.7.
 +
*net.lugdunon.world.clover.tui 0.1.0 -> 0.1.1.
 +
*Weather and seasonal temperature is now in game. Players can experience various weather events (watch out for lightning!).
 +
*Precipitation level and temperature fluctuations now affect the viability and growth rate of crops and other flora.
 +
*Players have access to researchable spells that allow the alteration of local weather (Snow, Rain, Fog, and Clear weather).
 +
*Players can now excavate new passages in caverns, and uncover resource nodes using a new craftable item call the "Excavator".
 +
*Players can also now dig into cliffsides in the overworld to uncover resource nodes and ruin or cavern entrances using the "Excavator".
 +
*Added EXCAVATOR.EXPLOSION audio asset.
 +
*Added PLANT.SQUISH audio asset.
 +
*Cleaned up unneeded code in net.lugdunon.elevation.editor.simple.TerrainElevation.updateElevation(Account a, int x, int y, int w, int h, byte elevation)
 +
*Characters should no longer appear to climb walls when using keyboard movement.
 +
*Fixed transition and impassability tiles for the tent.
 +
*Fixed interior tiles for tent instance.
 +
*Fixed a null pointer issue when removing placeable item instances.
 +
*Fixed an issue where instances of PlaceableItemUpdateable were not getting unregistered when a placeable item instance was removed.
 +
*Fixed several instances where range checks were occurring without taking map size / wrapping into account.
 +
*Fixed an issue that caused an instance location area for the main player when first logging in and the player is not in the overworld instance.
 +
*Fixed an issue in net.lugdunon.world.defaults.character.DefaultCharacterStats.awardAchievement(achievementId,ts) that was causing issues when awarding achievement.
 +
*Fixed an issue where instance transition dialog would appear when player didn't have access to instance, thereby soft locking the game client.
 +
*Fixed an issue net.lugdunon.command.core.ConnectToServerCommand that was causing a client hang.
 +
*Fixed an issue in net.lugdunon.asset.DoubleBufferedAudio that was causing improper playback on looped samples.
 +
*Fixed an issue in net.lugdunon.ui.recipe.RecipeEditorDialog.reconfigureCraftingArea() that was causing mouseover labels to display incorrectly for recipe slots.
 +
*Fixed an issue in net.lugdunon.world.defaults.environment.Environment that was causing "secondLength" values defined in env.json to not override the default value.
 +
*Fixed an issue with net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getTimeOfDayAsPercent() not returning the correct value.
 +
*Fixed some null pointer issues with the default environment implementation when attempting to access a null biome.
 +
*Reindexed months in net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar such that Samonios is the equivalent of June and not May.
 +
*Added environment.snow.accumulation.bailout world property. Indicates the number of times a biome will search for a suitable point for snow to accumulate. Defaults to 16.
 +
*Added environment.snow.accumulation.interval world property. Indicated the time interval at which snow will accumulate, or dissipate. Defaults to 5000 (5 seconds).
 +
*IUpdateables are no longer updated before server has completed startup.
 +
*net.lugdunon.world.terrain.Terrain.getElevationImageData() now auto contrasts output.
 +
*Added net.lugdunon.state.World.listActiveInstances() to the server-side API.
 +
*Added net.lugdunon.world.instance.TransientInstanceCache.listActiveInstances() to the server-side API.
 +
*Added net.lugdunon.world.terrain.Terrain.setBiomeAt(int x, int y, byte biome) to the server-side API.
 +
*Biome data can now be dynamically updated in a persistent manner at runtime.
 +
*Added net.lugdunon.world.environment.IEnvironment.makeWeather(id,clazz,initData) to the client-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.clearWeather(id) to the client-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getWeather(id) to the client-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.hasWeather(id) to the client-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getTemperatureForLocation(Location location) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getTemperatureForBiome(Biome biome) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getTemperatureForZone(HardinessZone zone) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getWeatherForLocation(Location location) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getWeatherForBiome(Biome biome) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getWeatherForZone(HardinessZone zone) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getHardinessZone(int zoneId) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getItemStatePrefixForSeason(int season) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getPlaceableItemUpdateThreshold() to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getPlaceableItemStatePrefix(PlaceableItemInstance pii) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.totalWeatherUpdate(PlayerCharacter pc) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.registerEnvironmentListener(IEnvironmentListener  el) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.unregisterEnvironmentListener(String id) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.triggerEnvironmentEvent(String type, Object... args) to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getClimateInformation() to the server-side API.
 +
*Added net.lugdunon.world.environment.IEnvironment.getCurrentWorldwideWeatherForecast() to the server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSecondsInMinute() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getMinutesInHour() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getHoursInDay() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getDaysInWeek() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getWeeksInMonth() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getMonthsInSeason() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonsInYear() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getMaximumAllowableSeason() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSolarPosition() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonDetailName() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonName() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeason() to the client/server-side API.
 +
*Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonProgress() to the client/server-side API.
 +
*Removed net.lugdunon.world.biome.Biome.getNextItemForPlacement() from the server-side API.
 +
*Removed net.lugdunon.world.biome.Biome.itemPlacementCanceled() from the server-side API.
 +
*Added net.lugdunon.world.biome.Biome.getNextItemForPlacement(boolean postGen) to the server-side API.
 +
*Added net.lugdunon.world.biome.Biome.itemPlacementCanceled(boolean postGen) to the server-side API.
 +
*Added net.lugdunon.world.biome.Biome.getHardinessZone() to the server-side API.
 +
*net.lugdunon.world.biome.Biome now supports post generation (runtime) addition of biome-bound placeable items.
 +
*net.lugdunon.world.biome.dynamic.DynamicBiome now supports post generation (runtime) addition of biome-bound placeable items.
 +
*Added net.lugdunon.world.environment.climate.BaseClimateInformation to the codebase.
 +
*Added net.lugdunon.world.environment.weather.BaseWeather to the codebase.
 +
*Added net.lugdunon.world.environment.weather.BaseWeatherForecast to the codebase.
 +
*Added net.lugdunon.world.environment.event.IEnvironmentListener to the server-side codebase.
 +
*Added net.lugdunon.world.environment.event.LightningStrikeEnvironmentListener to the server-side codebase.
 +
*Added net.lugdunon.world.environment.event.SnowAccumulatedEnvironmentListener to the server-side codebase.
 +
*Added net.lugdunon.world.environment.event. SnowMeltedEnvironmentListener to the server-side codebase.
 +
*Added net.lugdunon.world.environment.hz.HardinessZone to the server-side codebase.
 +
*Added net.lugdunon.world.environment.hz.SeasonalClimateProfile to the server-side codebase.
 +
*Added net.lugdunon.world.environment.hz.TemperatureGradient to the server-side codebase.
 +
*Added net.lugdunon.world.environment.hz.TemperatureSensitivity to the server-side codebase.
 +
*Added net.lugdunon.world.environment.hz.Weather to the server-side codebase.
 +
*Added net.lugdunon.world.environment.hz.WeatherProfile to the server-side codebase.
 +
*Added net.lugdunon.util.audio.AudioDefinition(String audio, double volume, short falloffRadius, byte falloffProgression) to the server-side API.
 +
*Removed net.lugdunon.state.SubsystemBase.getConfigArray(String configPath) from the server-side API.
 +
*Removed net.lugdunon.state.SubsystemBase.saveConfigArray(String configPath, JSONArray config) from the server-side API.
 +
*Mods now load and store item data as JSON instead of instantiating an Item object.
 +
*Mods now support environment listeners defined as a list of strings (class names) in a JSON array identified as "environmentListeners".
 +
*Moved net.lugdunon.state.metric.combat.PlayerDeathMetric to net.lugdunon.state.metric.general.PlayerDeathMetric.
 +
*net.lugdunon.state.metric.general.PlayerDeathMetric refactored to allow for proper association of environmentally and placeable item instance caused deaths.
 +
*net.lugdunon.state.metric.item.ItemRemovedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.item.temReceivedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.item.ItemPlacedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.item.ItemMovedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.item.ItemLootedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.item.ItemGatheredMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.action.CropHarvestedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.action.CropPlantedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.action.DrinkConsumedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.action.DrinkUsedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.action.FoodConsumedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.action.FoodUsedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.combat.NPCSlainMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.combat.PCSlainMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.general.PlayerDeathMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
 +
*net.lugdunon.state.metric.combat.PCSlainMetric reports "Yourself" as the slain PC in the case of self-sayings.
 +
*Added net.lugdunon.state.item.PlaceableItemInstanceLightningStrikeEnvironmentListener to the server-side codebase. Kills or changes a placeable item instances state (definable in the item's definition) within a radius of 4.
 +
*Placeable item instances now support a state prefix. This allows for multiple different state progressions, making seasonal changes in flora possible.
 +
*Added net.lugdunon.state.item.PlaceableItemInstance.getStatePrefix() to the server-side API.
 +
*Added net.lugdunon.state.item.PlaceableItemInstance.setStatePrefix(String statePrefix) to the server-side API.
 +
*Added net.lugdunon.state.item.PlaceableItemInstance.getCurrentBaseState() to the server-side API.
 +
*Added net.lugdunon.state.item.PlaceableItemInstance.removed() to the server-side API.
 +
*Added net.lugdunon.state.item.PlaceableItemCache.getPlaceableItemReference(Point location) to the server-side API.
 +
*Removed net.lugdunon.state.item.PlaceableItemCache.listAllItemsInRangeOf(Point location, double range) from the server-side API.
 +
*Added net.lugdunon.state.item.PlaceableItemCache.listAllItemsInRangeOf(int range, Point location) to the server-side API.
 +
*Added net.lugdunon.state.item.Item.isTemperatureSensitive() to the server-side API.
 +
*Added net.lugdunon.state.item.Item.isPrecipitationSensitive() to the server-side API.
 +
*Added net.lugdunon.state.item.Item.getTemperatureSensitivity() to the server-side API.
 +
*Added net.lugdunon.state.item.Item.getPrecipitationSensitivity() to the server-side API.
 +
*Added net.lugdunon.state.item.Item.isSeasonal() to the server-side API.
 +
*Added net.lugdunon.state.item.Item.isSusceptibleToLightning() to the server-side API.
 +
*Added net.lugdunon.state.item.Item.getLightningSusceptibility() to the server-side API.
 +
*Added net.lugdunon.state.item.IPlacementStrategy.placeItem(Terrain terrain, PlaceableItemCache placeableItemCache, Point location) to the server-side API.
 +
*net.lugdunon.state.item.PlaceableItemInstance.PlaceableItemInstanceUpdateable externalized to net.lugdunon.state.item.updateable.PlaceableItemInstanceUpdateable.
 +
*net.lugdunon.state.item.updateable.PlaceableItemInstanceUpdateable now tracks seasons, precipitation, and temperature changes to adjust states. Certain placeables will enter hibernation states or die if temperature exceeds a certain range.
 +
*net.lugdunon.state.item.lifecycle.BaseItemLifecycleHandler.itemPlaced(PlaceableItemInstance placeable, JSONObject userDefinedData) creates a "seasonalBias" double property in the placeable item instance's user defined data. Seasonal bias determines how early or late a placeable item instance will undergo a seasonal change.
 +
*Added net.lugdunon.state.item.action.ExcavatorActionHandler to the client-side codebase.
 +
*PC slain metric will now be triggered for a player if a player's placed item caused the PCs death.
 +
*NPC slain metric will now be triggered for a player if a player's placed item caused the NPCs death.
 +
*Added net.lugdunon.state.character.CharacterLightningStrikeEnvironmentListener to the server-side codebase. Triggers a CORE.LIGHTNING.STRIKE area of effect centered at the lightning strike location.
 +
*Added  net.lugdunon.state.character.stats.ICharacterStats.HEALTH_MODIFY_CAUSE_TRAPPED to the client-side API.
 +
*Added  net.lugdunon.state.character.stats.ICharacterStats.HEALTH_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the client-side API.
 +
*Added  net.lugdunon.state.character.stats.ICharacterStats.HEALTH_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the server-side API.
 +
*Added net.lugdunon.state.character.stats.ICharacterStats.STAMINA_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the client-side API.
 +
*Added net.lugdunon.state.character.stats.ICharacterStats.STAMINA_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the server-side API.
 +
*net.lugdunon.state.aoe.core.ExplosionAreaOfEffect's indiscriminate property now determines if the effect will target the character responsible. If set to true, the responsible party will be targeted as well.
 +
*Added net.lugdunon.state.achievement.general.DestroyItemAchievement to the codebase.
 +
*Added net.lugdunon.state.achievement.crafting.CraftItemAchievement to the codebase.
 +
*Added net.lugdunon.state.achievement.general.PlayerDeathAchievement to the codebase.
 +
*Removed net.lugdunon.state.achievement.combat.PlayerDeathAchievement from the codebase.
 +
*Added net.lugdunon.math.Location(long instanceId, int x, int y) to the server-side API.
 +
*Added net.lugdunon.command.CommandProperties.getCharacterItemUse(String key, CharacterItemUse defaultValue) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.getJSONObject(String key, JSONObject defaultValue) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.getJSONArray(String key, JSONArray defaultValue) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.getCharacterItemUse(String key) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.getJSONObject(String key) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.getJSONArray(String key) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.setCharacterItemUse(String key, CharacterItemUse value) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.setJSONObject(String key, JSONObject value) to the server-side codebase.
 +
*Added net.lugdunon.command.CommandProperties.setJSONArray(String key, JSONArray value) to the server-side codebase.
 +
*Removed net.lugdunon.command.Command.inRange(int range, Point loc, Point playerLoc) from the server-side API.
 +
*Added net.lugdunon.command.Command.inRange(int range, Point loc, Point playerLoc, short terrainSize) to the client-side API.
 +
*net.lugdunon.command.core.LoadCharacterCommand now sends player's instance id.
 +
*net.lugdunon.command.core.LoadCharacterCommand will initiate a total weather update on the client.
 +
*net.lugdunon.command.core.ClientExecutionCommand now supports an "accounts" property, which is a list of active account names to send the command to.
 +
*net.lugdunon.command.core.player.PlayerMoveCommand if the move has resulted in the player crossing to a new hardiness zone.
 +
*net.lugdunon.command.core.play.InstanceTransitionCommand will initiate a total weather update on the client.
 +
*net.lugdunon.command.core.console.gm.GameModeCommand will initiate a total weather update on the client.
 +
*net.lugdunon.command.core.play.ConsumeFoodCommands now properly distinguishes between stamina, stamina/health, and health restorative foods.
 +
*net.lugdunon.command.core.play.RangedWeaponFireCommand now ignores impassable tiles.
 +
*net.lugdunon.command.core.play.ThrowPenguinEggCommand now sets its cause as a character item use.
 +
*net.lugdunon.command.core.play.UseShearsCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.TillEarthCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.ThrowPenguinEggCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.ThrowEggCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.RangedWeaponFireCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.PlaceGroundcoverCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.OpenAnimalBarrelCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.FillMugCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.FillBucketCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.play.CharacterInteractionCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.inventory.MoveInventoryItemCommand now implements a proper wrapping range check.
 +
*net.lugdunon.command.core.console.LocCommand now reports temperature (in celsius and fahrenheit) at the location.
 +
*Added game.getScreenShift() to the client-side API. Screen shift is the difference in screen location between the previous and current frame.
 +
*Added Number.toTemperatureString(decimalPlaces) to the client-side API
 +
*Added Number.toFahrenheit() to the client-side API.
 +
*net.lugdunon.ui.spellbook.SpellbookDialog.showSchool(index) now checks again spell school and not item sub type.
 +
*net.lugdunon.ui.recipe.RecipeEditorDialog.reconfigureCraftingArea() now uses net.lugdunon.input.Input.TERTIARY_AWARE_CLICK_EVENT for recipe slots to allow for middle button use (to toggle consumed flag).
 +
*Added net.lugdunon.state.compendium.Codex.secondaryFetched(data) to the client-side API.
 +
*Added net.lugdunon.state.compendium.Codex.secondaryFetch(props) to the client-side API.
 +
*Added net.lugdunon.state.compendium.Codex.fetch(props) to the client-side API.
 +
*Removed net.lugdunon.state.compendium.Codex.fetch() from the client-side API.
 +
*Added net.lugdunon.item.Item.isTemperatureSensitive() to the client-side API.
 +
*Added net.lugdunon.item.Item.isPrecipitationSensitive() to the client-side API.
 +
*Added net.lugdunon.item.Item.getTemperatureSensitivity() to the client-side API.
 +
*Added net.lugdunon.item.Item.getPrecipitationSensitivity() to the client-side API.
 +
*Added net.lugdunon.item.renderer.DefaultRenderer.handleTemperatureSensitivityRender(d) to the client-side API.
 +
*Added net.lugdunon.item.renderer.DefaultRenderer.handlePrecipitationSensitivityRender(d) to the client-side API.
 +
*Added net.lugdunon.input.Input.TERTIARY_AWARE_CLICK_EVENT to the client-side API.
 +
*Added input validation for net.lugdunon.world.defaults.environment.command.SetDateCommand (CORE.COMMAND.ENVIRONMENT.SET.DATE).
 +
*Added input validation for net.lugdunon.world.defaults.environment.command.SetTimeOfDayCommand (CORE.COMMAND.ENVIRONMENT.SET.TOD).
 +
*Added net.lugdunon.world.defaults.environment.Game.css.
 +
*Added net.lugdunon.world.defaults.environment.Environment.makeWeather(id,clazz,initData) to the client-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getWeather(id) to the client-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.hasWeather(id) to the client-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.clearWeather(id) to the client-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getClimateInformation() to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getCurrentWorldwideWeatherForecast() to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getWeatherForZone(HardinessZone zone) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getWeatherForLocation(Location location) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getWeatherForBiome(Biome biome) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getTemperatureForZone(HardinessZone zone) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getTemperatureForLocation(Location location) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getTemperatureForBiome(Biome biome) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getCurrentMeanTemperature() to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getHardinessZone(int zoneId) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getItemStatePrefixForSeason(int season) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.dumpState() to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getPlaceableItemUpdateThreshold() to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.getPlaceableItemStatePrefix(PlaceableItemInstance pii) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.totalWeatherUpdate(PlayerCharacter pc) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.registerEnvironmentListener(IEnvironmentListener el) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.unregisterEnvironmentListener(String id) to the server-side API.
 +
*Added net.lugdunon.world.defaults.environment.Environment.triggerEnvironmentEvent(String type, Object... args) to the server-side API.
 +
*Added tempMapGradient integer property to env.json.
 +
*Added seasonalPlaceableItemUpdateInterval integer property to env.json.
 +
*Added tempMapGradient integer property to env.json.
 +
*Added seasonalPlaceableItemStatePrefixes string array property to env.json.
 +
*Added hardinessZones json (hardiness zone definition) array property to env.json.
 +
*Added net.lugdunon.world.defaults.environment.command.ManageWeatherCommand to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.spell.AlterWeatherActionHandler to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.tooltip.SunwheelTooltipExtension to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.weather.Fog to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.weather.Rain to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.weather.Snow to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.weather.CommandableWeather to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.weather.RainOrSnow to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.MONTHS_IN_SEASON to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.SECONDS_IN_SEASON to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSecondsInMinute() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMinutesInHour() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getHoursInDay() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getDaysInWeek() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getWeeksInMonth() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMonthsInSeason() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonsInYear() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMaximumAllowableSeason() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSolarPosition() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonDetailName() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonName() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeason() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonProgress() to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSolarPosition() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSecondsInMinute() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMinutesInHour() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getHoursInDay() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getDaysInWeek() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getWeeksInMonth() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMonthsInSeason() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonsInYear() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMaximumAllowableSeason() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonDetailName() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonName() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeason() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonProgress() to the server-side codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.DateIndicator.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.FogLayerOne.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.FogLayerTwo.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Lightning.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.NearThunder.mp3 to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.NearThunder.ogg to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Precipitation.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Rain.mp3 to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Rain.ogg to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Seasons.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.SeasonsOverlay.png to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Thunder.mp3 to the codebase.
 +
*Added net.lugdunon.world.defaults.environment.assets.Thunder.ogg to the codebase.
 +
*Added net.lugdunon.world.defaults.character.DefaultCharacterStatsSystem.dumpState() to the server-side API.
 +
*Added net.lugdunon.world.defaults.compendium.environment.assets.DateIndicator.png to the codebase.
 +
*Added net.lugdunon.world.defaults.compendium.environment.assets.Seasons.png to the codebase.
 +
*Added net.lugdunon.world.defaults.compendium.environment.assets.SeasonsOverlay.png to the codebase.
 +
*Added net.lugdunon.world.defaults.compendium.environment.Codex.css to the codebase.
 +
*Added net.lugdunon.world.defaults.compendium.environment.Codex to the client-side codebase.
 +
*Added net.lugdunon.world.defaults.compendium.environment.CodexRESTHandler to the server-side codebase.
 +
*Added areaOfEffectDefinitions.json to the etc static overwrite list.
 +
*Added environmentListeners.json to the etc contents list.
 +
*Added recipe for ITEM.KEG.LAGER.
 +
*Added recipe for ITEM.RENNET.
 +
*Added recipe for ITEM.BUCKET.CURDS.AND.WHEY.
 +
*Added recipe for FOOD.CHEESE.
 +
*Added recipe for FOOD.CHEESE.RICH.
 +
*Added recipe for ITEM.EXCAVATOR.
 +
*Added recipe for ITEM.COAL.DUST.
 +
*Added item definition for .
 +
*Added item definition for .
 +
*Added item definition for .
 +
*Removed metric net.lugdunon.state.metric.combat.PlayerDeathMetric.
 +
*Added metric net.lugdunon.state.metric.general.PlayerDeathMetric.
 +
*Added a new tree, the Alder.
 +
*Oak trees now have separate states for summer, winter, spring, and fall.
 +
*Fir trees now have separate states for summer, winter, spring, and fall.
 +
*Rubber trees now have separate states for summer, winter, spring, and fall.
 +
*Alder trees now have separate states for summer, winter, spring, and fall.
 +
*Trees are lightning susceptible, and will undergo a state change to the stump state if struck.
 +
*Added "lager" state to BREW.KEG item. Dispenses Marisa's Loping Lager when used.
 +
*Candles have a slightly larger light radius when placed.
 +
*Yeast traps now have a chance to drop cultures.
 +
*Yeast traps are now temperature sensitive and will enter a hibernation state when the temperature drops too low.
 +
*Yeast traps have had their respawn time increased.
 +
*Crops are now temperature sensitive. They will die in extreme temperatures and enter a hibernation state when the temperature drops too low.
 +
*Crops are lightning susceptible, and will die when struck by lightning.
 +
*All crops have had their respawn time increased.
 +
*Added item DRINK.HORN.MUG.LAGER. Will bestow a speed buff when imbibed.
 +
*Added item ITEM.BUCKET.CURDS.AND.WHEY.
 +
*Added item ITEM.KEG.LAGER.
 +
*Added item ITEM.CULTURE.
 +
*Added item ITEM.RENNET.
 +
*Added item ITEM.CULTURE.RICH.
 +
*Added item ITEM.COAL.DUST.
 +
*Added item ITEM.EXCAVATOR.
 +
*Added item FOOD.CHEESE.
 +
*Added item FOOD.CHEESE.RICH.
 +
*Added net.lugdunon.command.core.play.ThrowExcavatorCommand.
 +
*Fixed area of effect definitions to re-enable sound effects.
 +
*Added CORE.EXCAVATOR.EXPLOSION area of effect definition.
 +
*Added CORE.LIGHTNING.STRIKE area of effect definition.
 +
*Added GENERAL.DESTROY.ITEM.CHEESE.0 achievement.
 +
*Added GENERAL.PLAYER.DEATH.0 achievement.
 +
*Added GENERAL.PLAYER.DEATH.LIGHTNING.0 achievement.
 +
*Added GENERAL.PLAYER.DEATH.SELF.EXCAVATOR.0 achievement.
 +
*Added CRAFT.MAKE.CHEESE.0 achievement.
 +
*Removed COMBAT.PLAYER.DEATH.1 achievement.
 +
*Added a "dynamicPlacementProbability" double 0.0-1.0 property to the net.lugdunon.server.worldgen.procedural.item.placement.GriddedPlacementStrategy arguments to determine the probability that an item will be placed due to runtime triggers.
 +
*Added net.lugdunon.server.worldgen.procedural.item.placement.GriddedPlacementStrategy.placeItem(Terrain terrain, PlaceableItemCache placeableItemCache, Point location) to the server-side API.
 +
*Added net.lugdunon.server.worldgen.procedural.item.placement.metazelda. MetazeldaDungeonPlacementStrategy.placeItem(Terrain terrain, PlaceableItemCache placeableItemCache, Point location) to the server-side API.
 +
*Removed net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.getNextItemForPlacement() from the server-side API.
 +
*Removed net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.itemPlacementCanceled() from the server-side API.
 +
*Added net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.getNextItemForPlacement(boolean postGen) to the server-side API.
 +
*Added net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.itemPlacementCanceled(boolean postGen) to the server-side API.
 +
*Added ITEM.RENNET item to the COOKING.GOODS vendor.
 +
*Added ITEM.CULTURE.RICH item to the COOKING.GOODS vendor.
 +
*Added ITEM.CULTURE item to the COOKING.GOODS vendor.
 +
*Added ITEM.KEG.LAGER item to the BREWING.GOODS vendor.
 +
*Added allowPostGenTerrainModification support to the procedural overworld (default) instance with a dynamicPlacementProbability of 0.35 (35% and a truncated post gen items set consisting of ore nodes and cavern / ruins entrances.
 +
*Added allowPostGenTerrainModification support to the procedural lowland cavern instance with a dynamicPlacementProbability of 0.35 (35%) and the same post gen items as the peri gen item set.
 +
*Added allowPostGenTerrainModification support to the procedural midland cavern instance with a dynamicPlacementProbability of 0.35 (35%) and the same post gen items as the peri gen item set.
 +
*Added allowPostGenTerrainModification support to the procedural highland cavern instance with a dynamicPlacementProbability of 0.35 (35% and the same post gen items as the peri gen item set.
 +
*Added icon for ITEM_BUCKET_CURDS_AND_WHEY.
 +
*Added icon for FOOD_CHEESE.
 +
*Added icon for FOOD_CHEESE_RICH.
 +
*Added icon for ITEM_CULTURE.
 +
*Added icon for ITEM_CULTURE_RICH.
 +
*Added "melts" boolean property for terrain layer definitions.
 +
*Snow can now melt.
 +
*Changed background color for mine instance from #322125 to #000000.
 +
*Changed background color for dimensional pocket instance from #322125 to #000000.
 +
*Changed background color for tent instance from #322125 to #000000.
  
  
 
[[Category:Releases|Upcoming Release]]
 
[[Category:Releases|Upcoming Release]]

Revision as of 14:50, 1 May 2017

Engine Content: This information applies to the engine and therefore to all servers.

0.8.4


Last Updated: 01/05/2017


Mods altered in this update:

  • net.lugdunon.state.character.movement.free
  • net.lugdunon.elevation.editor.simple
  • net.lugdunon.world.defaults.audio
  • net.lugdunon.world.defaults.environment
  • net.lugdunon.world.defaults.character
  • net.lugdunon.world.defaults.compendium
  • net.lugdunon.world.clover.tui


Server mods altered in this update:

  • net.lugdunon.server.worldgen.defaults
  • net.lugdunon.server.worldgen.procedural


/etc files altered in this update:

  • achievements.json
  • areaOfEffectDefinitions.json
  • commands.json
  • environmentListeners.json
  • items.json
  • metrics.json
  • recipes.json
  • instances/0/instance.json
  • instanceTemplates/HIGHLAND_CAVERN/instance.json
  • instanceTemplates/LOWLAND_CAVERN/instance.json
  • instanceTemplates/MIDLAND_CAVERN/instance.json
  • vendors.json


Release Notes:

  • Server 0.8.3 -> 0.8.4.
  • Client 0.8.3 -> 0.8.4.
  • net.lugdunon.state.character.movement.free 0.0.6 -> 0.0.7.
  • net.lugdunon.elevation.editor.simple 0.0.2 -> 0.0.3.
  • net.lugdunon.world.defaults.audio 0.0.2 -> 0.0.3.
  • net.lugdunon.world.defaults.environment 0.0.4 -> 0.1.0.
  • net.lugdunon.world.defaults.character 0.0.5 -> 0.0.6.
  • net.lugdunon.world.defaults.compendium 0.0.5 -> 0.0.6.
  • net.lugdunon.server.worldgen.defaults 0.0.12 -> 0.0.13.
  • net.lugdunon.server.worldgen.procedural 0.0.6 -> 0.0.7.
  • net.lugdunon.world.clover.tui 0.1.0 -> 0.1.1.
  • Weather and seasonal temperature is now in game. Players can experience various weather events (watch out for lightning!).
  • Precipitation level and temperature fluctuations now affect the viability and growth rate of crops and other flora.
  • Players have access to researchable spells that allow the alteration of local weather (Snow, Rain, Fog, and Clear weather).
  • Players can now excavate new passages in caverns, and uncover resource nodes using a new craftable item call the "Excavator".
  • Players can also now dig into cliffsides in the overworld to uncover resource nodes and ruin or cavern entrances using the "Excavator".
  • Added EXCAVATOR.EXPLOSION audio asset.
  • Added PLANT.SQUISH audio asset.
  • Cleaned up unneeded code in net.lugdunon.elevation.editor.simple.TerrainElevation.updateElevation(Account a, int x, int y, int w, int h, byte elevation)
  • Characters should no longer appear to climb walls when using keyboard movement.
  • Fixed transition and impassability tiles for the tent.
  • Fixed interior tiles for tent instance.
  • Fixed a null pointer issue when removing placeable item instances.
  • Fixed an issue where instances of PlaceableItemUpdateable were not getting unregistered when a placeable item instance was removed.
  • Fixed several instances where range checks were occurring without taking map size / wrapping into account.
  • Fixed an issue that caused an instance location area for the main player when first logging in and the player is not in the overworld instance.
  • Fixed an issue in net.lugdunon.world.defaults.character.DefaultCharacterStats.awardAchievement(achievementId,ts) that was causing issues when awarding achievement.
  • Fixed an issue where instance transition dialog would appear when player didn't have access to instance, thereby soft locking the game client.
  • Fixed an issue net.lugdunon.command.core.ConnectToServerCommand that was causing a client hang.
  • Fixed an issue in net.lugdunon.asset.DoubleBufferedAudio that was causing improper playback on looped samples.
  • Fixed an issue in net.lugdunon.ui.recipe.RecipeEditorDialog.reconfigureCraftingArea() that was causing mouseover labels to display incorrectly for recipe slots.
  • Fixed an issue in net.lugdunon.world.defaults.environment.Environment that was causing "secondLength" values defined in env.json to not override the default value.
  • Fixed an issue with net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getTimeOfDayAsPercent() not returning the correct value.
  • Fixed some null pointer issues with the default environment implementation when attempting to access a null biome.
  • Reindexed months in net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar such that Samonios is the equivalent of June and not May.
  • Added environment.snow.accumulation.bailout world property. Indicates the number of times a biome will search for a suitable point for snow to accumulate. Defaults to 16.
  • Added environment.snow.accumulation.interval world property. Indicated the time interval at which snow will accumulate, or dissipate. Defaults to 5000 (5 seconds).
  • IUpdateables are no longer updated before server has completed startup.
  • net.lugdunon.world.terrain.Terrain.getElevationImageData() now auto contrasts output.
  • Added net.lugdunon.state.World.listActiveInstances() to the server-side API.
  • Added net.lugdunon.world.instance.TransientInstanceCache.listActiveInstances() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.setBiomeAt(int x, int y, byte biome) to the server-side API.
  • Biome data can now be dynamically updated in a persistent manner at runtime.
  • Added net.lugdunon.world.environment.IEnvironment.makeWeather(id,clazz,initData) to the client-side API.
  • Added net.lugdunon.world.environment.IEnvironment.clearWeather(id) to the client-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getWeather(id) to the client-side API.
  • Added net.lugdunon.world.environment.IEnvironment.hasWeather(id) to the client-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getTemperatureForLocation(Location location) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getTemperatureForBiome(Biome biome) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getTemperatureForZone(HardinessZone zone) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getWeatherForLocation(Location location) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getWeatherForBiome(Biome biome) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getWeatherForZone(HardinessZone zone) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getHardinessZone(int zoneId) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getItemStatePrefixForSeason(int season) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getPlaceableItemUpdateThreshold() to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getPlaceableItemStatePrefix(PlaceableItemInstance pii) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.totalWeatherUpdate(PlayerCharacter pc) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.registerEnvironmentListener(IEnvironmentListener el) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.unregisterEnvironmentListener(String id) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.triggerEnvironmentEvent(String type, Object... args) to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getClimateInformation() to the server-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getCurrentWorldwideWeatherForecast() to the server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSecondsInMinute() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getMinutesInHour() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getHoursInDay() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getDaysInWeek() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getWeeksInMonth() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getMonthsInSeason() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonsInYear() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getMaximumAllowableSeason() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSolarPosition() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonDetailName() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonName() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeason() to the client/server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getSeasonProgress() to the client/server-side API.
  • Removed net.lugdunon.world.biome.Biome.getNextItemForPlacement() from the server-side API.
  • Removed net.lugdunon.world.biome.Biome.itemPlacementCanceled() from the server-side API.
  • Added net.lugdunon.world.biome.Biome.getNextItemForPlacement(boolean postGen) to the server-side API.
  • Added net.lugdunon.world.biome.Biome.itemPlacementCanceled(boolean postGen) to the server-side API.
  • Added net.lugdunon.world.biome.Biome.getHardinessZone() to the server-side API.
  • net.lugdunon.world.biome.Biome now supports post generation (runtime) addition of biome-bound placeable items.
  • net.lugdunon.world.biome.dynamic.DynamicBiome now supports post generation (runtime) addition of biome-bound placeable items.
  • Added net.lugdunon.world.environment.climate.BaseClimateInformation to the codebase.
  • Added net.lugdunon.world.environment.weather.BaseWeather to the codebase.
  • Added net.lugdunon.world.environment.weather.BaseWeatherForecast to the codebase.
  • Added net.lugdunon.world.environment.event.IEnvironmentListener to the server-side codebase.
  • Added net.lugdunon.world.environment.event.LightningStrikeEnvironmentListener to the server-side codebase.
  • Added net.lugdunon.world.environment.event.SnowAccumulatedEnvironmentListener to the server-side codebase.
  • Added net.lugdunon.world.environment.event. SnowMeltedEnvironmentListener to the server-side codebase.
  • Added net.lugdunon.world.environment.hz.HardinessZone to the server-side codebase.
  • Added net.lugdunon.world.environment.hz.SeasonalClimateProfile to the server-side codebase.
  • Added net.lugdunon.world.environment.hz.TemperatureGradient to the server-side codebase.
  • Added net.lugdunon.world.environment.hz.TemperatureSensitivity to the server-side codebase.
  • Added net.lugdunon.world.environment.hz.Weather to the server-side codebase.
  • Added net.lugdunon.world.environment.hz.WeatherProfile to the server-side codebase.
  • Added net.lugdunon.util.audio.AudioDefinition(String audio, double volume, short falloffRadius, byte falloffProgression) to the server-side API.
  • Removed net.lugdunon.state.SubsystemBase.getConfigArray(String configPath) from the server-side API.
  • Removed net.lugdunon.state.SubsystemBase.saveConfigArray(String configPath, JSONArray config) from the server-side API.
  • Mods now load and store item data as JSON instead of instantiating an Item object.
  • Mods now support environment listeners defined as a list of strings (class names) in a JSON array identified as "environmentListeners".
  • Moved net.lugdunon.state.metric.combat.PlayerDeathMetric to net.lugdunon.state.metric.general.PlayerDeathMetric.
  • net.lugdunon.state.metric.general.PlayerDeathMetric refactored to allow for proper association of environmentally and placeable item instance caused deaths.
  • net.lugdunon.state.metric.item.ItemRemovedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.item.temReceivedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.item.ItemPlacedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.item.ItemMovedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.item.ItemLootedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.item.ItemGatheredMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.action.CropHarvestedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.action.CropPlantedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.action.DrinkConsumedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.action.DrinkUsedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.action.FoodConsumedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.action.FoodUsedMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.combat.NPCSlainMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.combat.PCSlainMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.general.PlayerDeathMetric now correctly passes the proper transientValue object to its callListeners(Object metricValue, Object transientValue) method.
  • net.lugdunon.state.metric.combat.PCSlainMetric reports "Yourself" as the slain PC in the case of self-sayings.
  • Added net.lugdunon.state.item.PlaceableItemInstanceLightningStrikeEnvironmentListener to the server-side codebase. Kills or changes a placeable item instances state (definable in the item's definition) within a radius of 4.
  • Placeable item instances now support a state prefix. This allows for multiple different state progressions, making seasonal changes in flora possible.
  • Added net.lugdunon.state.item.PlaceableItemInstance.getStatePrefix() to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.setStatePrefix(String statePrefix) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.getCurrentBaseState() to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.removed() to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.getPlaceableItemReference(Point location) to the server-side API.
  • Removed net.lugdunon.state.item.PlaceableItemCache.listAllItemsInRangeOf(Point location, double range) from the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.listAllItemsInRangeOf(int range, Point location) to the server-side API.
  • Added net.lugdunon.state.item.Item.isTemperatureSensitive() to the server-side API.
  • Added net.lugdunon.state.item.Item.isPrecipitationSensitive() to the server-side API.
  • Added net.lugdunon.state.item.Item.getTemperatureSensitivity() to the server-side API.
  • Added net.lugdunon.state.item.Item.getPrecipitationSensitivity() to the server-side API.
  • Added net.lugdunon.state.item.Item.isSeasonal() to the server-side API.
  • Added net.lugdunon.state.item.Item.isSusceptibleToLightning() to the server-side API.
  • Added net.lugdunon.state.item.Item.getLightningSusceptibility() to the server-side API.
  • Added net.lugdunon.state.item.IPlacementStrategy.placeItem(Terrain terrain, PlaceableItemCache placeableItemCache, Point location) to the server-side API.
  • net.lugdunon.state.item.PlaceableItemInstance.PlaceableItemInstanceUpdateable externalized to net.lugdunon.state.item.updateable.PlaceableItemInstanceUpdateable.
  • net.lugdunon.state.item.updateable.PlaceableItemInstanceUpdateable now tracks seasons, precipitation, and temperature changes to adjust states. Certain placeables will enter hibernation states or die if temperature exceeds a certain range.
  • net.lugdunon.state.item.lifecycle.BaseItemLifecycleHandler.itemPlaced(PlaceableItemInstance placeable, JSONObject userDefinedData) creates a "seasonalBias" double property in the placeable item instance's user defined data. Seasonal bias determines how early or late a placeable item instance will undergo a seasonal change.
  • Added net.lugdunon.state.item.action.ExcavatorActionHandler to the client-side codebase.
  • PC slain metric will now be triggered for a player if a player's placed item caused the PCs death.
  • NPC slain metric will now be triggered for a player if a player's placed item caused the NPCs death.
  • Added net.lugdunon.state.character.CharacterLightningStrikeEnvironmentListener to the server-side codebase. Triggers a CORE.LIGHTNING.STRIKE area of effect centered at the lightning strike location.
  • Added net.lugdunon.state.character.stats.ICharacterStats.HEALTH_MODIFY_CAUSE_TRAPPED to the client-side API.
  • Added net.lugdunon.state.character.stats.ICharacterStats.HEALTH_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the client-side API.
  • Added net.lugdunon.state.character.stats.ICharacterStats.HEALTH_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the server-side API.
  • Added net.lugdunon.state.character.stats.ICharacterStats.STAMINA_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the client-side API.
  • Added net.lugdunon.state.character.stats.ICharacterStats.STAMINA_MODIFY_CAUSE_PLACEABLE_ITEM_INSTANCE to the server-side API.
  • net.lugdunon.state.aoe.core.ExplosionAreaOfEffect's indiscriminate property now determines if the effect will target the character responsible. If set to true, the responsible party will be targeted as well.
  • Added net.lugdunon.state.achievement.general.DestroyItemAchievement to the codebase.
  • Added net.lugdunon.state.achievement.crafting.CraftItemAchievement to the codebase.
  • Added net.lugdunon.state.achievement.general.PlayerDeathAchievement to the codebase.
  • Removed net.lugdunon.state.achievement.combat.PlayerDeathAchievement from the codebase.
  • Added net.lugdunon.math.Location(long instanceId, int x, int y) to the server-side API.
  • Added net.lugdunon.command.CommandProperties.getCharacterItemUse(String key, CharacterItemUse defaultValue) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.getJSONObject(String key, JSONObject defaultValue) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.getJSONArray(String key, JSONArray defaultValue) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.getCharacterItemUse(String key) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.getJSONObject(String key) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.getJSONArray(String key) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.setCharacterItemUse(String key, CharacterItemUse value) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.setJSONObject(String key, JSONObject value) to the server-side codebase.
  • Added net.lugdunon.command.CommandProperties.setJSONArray(String key, JSONArray value) to the server-side codebase.
  • Removed net.lugdunon.command.Command.inRange(int range, Point loc, Point playerLoc) from the server-side API.
  • Added net.lugdunon.command.Command.inRange(int range, Point loc, Point playerLoc, short terrainSize) to the client-side API.
  • net.lugdunon.command.core.LoadCharacterCommand now sends player's instance id.
  • net.lugdunon.command.core.LoadCharacterCommand will initiate a total weather update on the client.
  • net.lugdunon.command.core.ClientExecutionCommand now supports an "accounts" property, which is a list of active account names to send the command to.
  • net.lugdunon.command.core.player.PlayerMoveCommand if the move has resulted in the player crossing to a new hardiness zone.
  • net.lugdunon.command.core.play.InstanceTransitionCommand will initiate a total weather update on the client.
  • net.lugdunon.command.core.console.gm.GameModeCommand will initiate a total weather update on the client.
  • net.lugdunon.command.core.play.ConsumeFoodCommands now properly distinguishes between stamina, stamina/health, and health restorative foods.
  • net.lugdunon.command.core.play.RangedWeaponFireCommand now ignores impassable tiles.
  • net.lugdunon.command.core.play.ThrowPenguinEggCommand now sets its cause as a character item use.
  • net.lugdunon.command.core.play.UseShearsCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.TillEarthCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.ThrowPenguinEggCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.ThrowEggCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.RangedWeaponFireCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.PlaceGroundcoverCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.OpenAnimalBarrelCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.FillMugCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.FillBucketCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.play.CharacterInteractionCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.inventory.MoveInventoryItemCommand now implements a proper wrapping range check.
  • net.lugdunon.command.core.console.LocCommand now reports temperature (in celsius and fahrenheit) at the location.
  • Added game.getScreenShift() to the client-side API. Screen shift is the difference in screen location between the previous and current frame.
  • Added Number.toTemperatureString(decimalPlaces) to the client-side API
  • Added Number.toFahrenheit() to the client-side API.
  • net.lugdunon.ui.spellbook.SpellbookDialog.showSchool(index) now checks again spell school and not item sub type.
  • net.lugdunon.ui.recipe.RecipeEditorDialog.reconfigureCraftingArea() now uses net.lugdunon.input.Input.TERTIARY_AWARE_CLICK_EVENT for recipe slots to allow for middle button use (to toggle consumed flag).
  • Added net.lugdunon.state.compendium.Codex.secondaryFetched(data) to the client-side API.
  • Added net.lugdunon.state.compendium.Codex.secondaryFetch(props) to the client-side API.
  • Added net.lugdunon.state.compendium.Codex.fetch(props) to the client-side API.
  • Removed net.lugdunon.state.compendium.Codex.fetch() from the client-side API.
  • Added net.lugdunon.item.Item.isTemperatureSensitive() to the client-side API.
  • Added net.lugdunon.item.Item.isPrecipitationSensitive() to the client-side API.
  • Added net.lugdunon.item.Item.getTemperatureSensitivity() to the client-side API.
  • Added net.lugdunon.item.Item.getPrecipitationSensitivity() to the client-side API.
  • Added net.lugdunon.item.renderer.DefaultRenderer.handleTemperatureSensitivityRender(d) to the client-side API.
  • Added net.lugdunon.item.renderer.DefaultRenderer.handlePrecipitationSensitivityRender(d) to the client-side API.
  • Added net.lugdunon.input.Input.TERTIARY_AWARE_CLICK_EVENT to the client-side API.
  • Added input validation for net.lugdunon.world.defaults.environment.command.SetDateCommand (CORE.COMMAND.ENVIRONMENT.SET.DATE).
  • Added input validation for net.lugdunon.world.defaults.environment.command.SetTimeOfDayCommand (CORE.COMMAND.ENVIRONMENT.SET.TOD).
  • Added net.lugdunon.world.defaults.environment.Game.css.
  • Added net.lugdunon.world.defaults.environment.Environment.makeWeather(id,clazz,initData) to the client-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getWeather(id) to the client-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.hasWeather(id) to the client-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.clearWeather(id) to the client-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getClimateInformation() to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getCurrentWorldwideWeatherForecast() to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getWeatherForZone(HardinessZone zone) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getWeatherForLocation(Location location) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getWeatherForBiome(Biome biome) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getTemperatureForZone(HardinessZone zone) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getTemperatureForLocation(Location location) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getTemperatureForBiome(Biome biome) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getCurrentMeanTemperature() to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getHardinessZone(int zoneId) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getItemStatePrefixForSeason(int season) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.dumpState() to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getPlaceableItemUpdateThreshold() to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.getPlaceableItemStatePrefix(PlaceableItemInstance pii) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.totalWeatherUpdate(PlayerCharacter pc) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.registerEnvironmentListener(IEnvironmentListener el) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.unregisterEnvironmentListener(String id) to the server-side API.
  • Added net.lugdunon.world.defaults.environment.Environment.triggerEnvironmentEvent(String type, Object... args) to the server-side API.
  • Added tempMapGradient integer property to env.json.
  • Added seasonalPlaceableItemUpdateInterval integer property to env.json.
  • Added tempMapGradient integer property to env.json.
  • Added seasonalPlaceableItemStatePrefixes string array property to env.json.
  • Added hardinessZones json (hardiness zone definition) array property to env.json.
  • Added net.lugdunon.world.defaults.environment.command.ManageWeatherCommand to the codebase.
  • Added net.lugdunon.world.defaults.environment.spell.AlterWeatherActionHandler to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.tooltip.SunwheelTooltipExtension to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.weather.Fog to the codebase.
  • Added net.lugdunon.world.defaults.environment.weather.Rain to the codebase.
  • Added net.lugdunon.world.defaults.environment.weather.Snow to the codebase.
  • Added net.lugdunon.world.defaults.environment.weather.CommandableWeather to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.weather.RainOrSnow to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.MONTHS_IN_SEASON to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.SECONDS_IN_SEASON to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSecondsInMinute() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMinutesInHour() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getHoursInDay() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getDaysInWeek() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getWeeksInMonth() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMonthsInSeason() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonsInYear() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMaximumAllowableSeason() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSolarPosition() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonDetailName() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonName() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeason() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonProgress() to the client-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSolarPosition() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSecondsInMinute() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMinutesInHour() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getHoursInDay() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getDaysInWeek() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getWeeksInMonth() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMonthsInSeason() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonsInYear() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getMaximumAllowableSeason() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonDetailName() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonName() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeason() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getSeasonProgress() to the server-side codebase.
  • Added net.lugdunon.world.defaults.environment.assets.DateIndicator.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.FogLayerOne.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.FogLayerTwo.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Lightning.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.NearThunder.mp3 to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.NearThunder.ogg to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Precipitation.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Rain.mp3 to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Rain.ogg to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Seasons.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.SeasonsOverlay.png to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Thunder.mp3 to the codebase.
  • Added net.lugdunon.world.defaults.environment.assets.Thunder.ogg to the codebase.
  • Added net.lugdunon.world.defaults.character.DefaultCharacterStatsSystem.dumpState() to the server-side API.
  • Added net.lugdunon.world.defaults.compendium.environment.assets.DateIndicator.png to the codebase.
  • Added net.lugdunon.world.defaults.compendium.environment.assets.Seasons.png to the codebase.
  • Added net.lugdunon.world.defaults.compendium.environment.assets.SeasonsOverlay.png to the codebase.
  • Added net.lugdunon.world.defaults.compendium.environment.Codex.css to the codebase.
  • Added net.lugdunon.world.defaults.compendium.environment.Codex to the client-side codebase.
  • Added net.lugdunon.world.defaults.compendium.environment.CodexRESTHandler to the server-side codebase.
  • Added areaOfEffectDefinitions.json to the etc static overwrite list.
  • Added environmentListeners.json to the etc contents list.
  • Added recipe for ITEM.KEG.LAGER.
  • Added recipe for ITEM.RENNET.
  • Added recipe for ITEM.BUCKET.CURDS.AND.WHEY.
  • Added recipe for FOOD.CHEESE.
  • Added recipe for FOOD.CHEESE.RICH.
  • Added recipe for ITEM.EXCAVATOR.
  • Added recipe for ITEM.COAL.DUST.
  • Added item definition for .
  • Added item definition for .
  • Added item definition for .
  • Removed metric net.lugdunon.state.metric.combat.PlayerDeathMetric.
  • Added metric net.lugdunon.state.metric.general.PlayerDeathMetric.
  • Added a new tree, the Alder.
  • Oak trees now have separate states for summer, winter, spring, and fall.
  • Fir trees now have separate states for summer, winter, spring, and fall.
  • Rubber trees now have separate states for summer, winter, spring, and fall.
  • Alder trees now have separate states for summer, winter, spring, and fall.
  • Trees are lightning susceptible, and will undergo a state change to the stump state if struck.
  • Added "lager" state to BREW.KEG item. Dispenses Marisa's Loping Lager when used.
  • Candles have a slightly larger light radius when placed.
  • Yeast traps now have a chance to drop cultures.
  • Yeast traps are now temperature sensitive and will enter a hibernation state when the temperature drops too low.
  • Yeast traps have had their respawn time increased.
  • Crops are now temperature sensitive. They will die in extreme temperatures and enter a hibernation state when the temperature drops too low.
  • Crops are lightning susceptible, and will die when struck by lightning.
  • All crops have had their respawn time increased.
  • Added item DRINK.HORN.MUG.LAGER. Will bestow a speed buff when imbibed.
  • Added item ITEM.BUCKET.CURDS.AND.WHEY.
  • Added item ITEM.KEG.LAGER.
  • Added item ITEM.CULTURE.
  • Added item ITEM.RENNET.
  • Added item ITEM.CULTURE.RICH.
  • Added item ITEM.COAL.DUST.
  • Added item ITEM.EXCAVATOR.
  • Added item FOOD.CHEESE.
  • Added item FOOD.CHEESE.RICH.
  • Added net.lugdunon.command.core.play.ThrowExcavatorCommand.
  • Fixed area of effect definitions to re-enable sound effects.
  • Added CORE.EXCAVATOR.EXPLOSION area of effect definition.
  • Added CORE.LIGHTNING.STRIKE area of effect definition.
  • Added GENERAL.DESTROY.ITEM.CHEESE.0 achievement.
  • Added GENERAL.PLAYER.DEATH.0 achievement.
  • Added GENERAL.PLAYER.DEATH.LIGHTNING.0 achievement.
  • Added GENERAL.PLAYER.DEATH.SELF.EXCAVATOR.0 achievement.
  • Added CRAFT.MAKE.CHEESE.0 achievement.
  • Removed COMBAT.PLAYER.DEATH.1 achievement.
  • Added a "dynamicPlacementProbability" double 0.0-1.0 property to the net.lugdunon.server.worldgen.procedural.item.placement.GriddedPlacementStrategy arguments to determine the probability that an item will be placed due to runtime triggers.
  • Added net.lugdunon.server.worldgen.procedural.item.placement.GriddedPlacementStrategy.placeItem(Terrain terrain, PlaceableItemCache placeableItemCache, Point location) to the server-side API.
  • Added net.lugdunon.server.worldgen.procedural.item.placement.metazelda. MetazeldaDungeonPlacementStrategy.placeItem(Terrain terrain, PlaceableItemCache placeableItemCache, Point location) to the server-side API.
  • Removed net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.getNextItemForPlacement() from the server-side API.
  • Removed net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.itemPlacementCanceled() from the server-side API.
  • Added net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.getNextItemForPlacement(boolean postGen) to the server-side API.
  • Added net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome.itemPlacementCanceled(boolean postGen) to the server-side API.
  • Added ITEM.RENNET item to the COOKING.GOODS vendor.
  • Added ITEM.CULTURE.RICH item to the COOKING.GOODS vendor.
  • Added ITEM.CULTURE item to the COOKING.GOODS vendor.
  • Added ITEM.KEG.LAGER item to the BREWING.GOODS vendor.
  • Added allowPostGenTerrainModification support to the procedural overworld (default) instance with a dynamicPlacementProbability of 0.35 (35% and a truncated post gen items set consisting of ore nodes and cavern / ruins entrances.
  • Added allowPostGenTerrainModification support to the procedural lowland cavern instance with a dynamicPlacementProbability of 0.35 (35%) and the same post gen items as the peri gen item set.
  • Added allowPostGenTerrainModification support to the procedural midland cavern instance with a dynamicPlacementProbability of 0.35 (35%) and the same post gen items as the peri gen item set.
  • Added allowPostGenTerrainModification support to the procedural highland cavern instance with a dynamicPlacementProbability of 0.35 (35% and the same post gen items as the peri gen item set.
  • Added icon for ITEM_BUCKET_CURDS_AND_WHEY.
  • Added icon for FOOD_CHEESE.
  • Added icon for FOOD_CHEESE_RICH.
  • Added icon for ITEM_CULTURE.
  • Added icon for ITEM_CULTURE_RICH.
  • Added "melts" boolean property for terrain layer definitions.
  • Snow can now melt.
  • Changed background color for mine instance from #322125 to #000000.
  • Changed background color for dimensional pocket instance from #322125 to #000000.
  • Changed background color for tent instance from #322125 to #000000.