mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 14:21:08 +00:00
Remove image sampler addon
The image sampler is implemented as the 'CHANNEL' sampler provided directly by the library-image addon instead.
This commit is contained in:
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2020-2021 Polyhedral Development
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
version = version("1.0.0")
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compileOnlyApi(project(":common:addons:manifest-addon-loader"))
|
|
||||||
compileOnlyApi(project(":common:addons:library-image"))
|
|
||||||
compileOnlyApi(project(":common:addons:config-noise-function"))
|
|
||||||
implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama)
|
|
||||||
testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama)
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJar") {
|
|
||||||
relocate("net.jafama", "com.dfsek.terra.addons.noise.image.lib.jafama")
|
|
||||||
}
|
|
||||||
-38
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2020-2021 Polyhedral Development
|
|
||||||
*
|
|
||||||
* The Terra Core Addons are licensed under the terms of the MIT License. For more details,
|
|
||||||
* reference the LICENSE file in this module's root directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.dfsek.terra.addons.noise.image;
|
|
||||||
|
|
||||||
import com.dfsek.terra.addons.image.colorsampler.ColorSampler;
|
|
||||||
import com.dfsek.terra.addons.image.util.ColorUtil.Channel;
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
|
||||||
|
|
||||||
|
|
||||||
public class ImageSampler implements NoiseSampler {
|
|
||||||
private final Channel channel;
|
|
||||||
|
|
||||||
private final double frequency;
|
|
||||||
|
|
||||||
private final ColorSampler colorSampler;
|
|
||||||
|
|
||||||
public ImageSampler(ColorSampler colorSampler, Channel channel, double frequency) {
|
|
||||||
this.channel = channel;
|
|
||||||
this.frequency = frequency;
|
|
||||||
this.colorSampler = colorSampler;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double noise(long seed, double x, double y) {
|
|
||||||
return channel.from(colorSampler.apply((int) (x * frequency), (int) (y * frequency))) / 255D * 2 - 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double noise(long seed, double x, double y, double z) {
|
|
||||||
return noise(seed, x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
-47
@@ -1,47 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2020-2021 Polyhedral Development
|
|
||||||
*
|
|
||||||
* The Terra Core Addons are licensed under the terms of the MIT License. For more details,
|
|
||||||
* reference the LICENSE file in this module's root directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.dfsek.terra.addons.noise.image;
|
|
||||||
|
|
||||||
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
|
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
import com.dfsek.terra.addons.manifest.api.AddonInitializer;
|
|
||||||
import com.dfsek.terra.addons.noise.NoiseAddon;
|
|
||||||
import com.dfsek.terra.addons.noise.image.config.ImageSamplerTemplate;
|
|
||||||
import com.dfsek.terra.api.Platform;
|
|
||||||
import com.dfsek.terra.api.addon.BaseAddon;
|
|
||||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
|
||||||
import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
|
|
||||||
import com.dfsek.terra.api.inject.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
|
||||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
|
||||||
|
|
||||||
|
|
||||||
public class ImageSamplerAddon implements AddonInitializer {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
private Platform platform;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
private BaseAddon addon;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void initialize() {
|
|
||||||
platform.getEventManager()
|
|
||||||
.getHandler(FunctionalEventHandler.class)
|
|
||||||
.register(addon, ConfigPackPreLoadEvent.class)
|
|
||||||
.priority(502)
|
|
||||||
.then(event -> {
|
|
||||||
CheckedRegistry<Supplier<ObjectTemplate<NoiseSampler>>> noiseRegistry = event.getPack().getOrCreateRegistry(
|
|
||||||
NoiseAddon.NOISE_SAMPLER_TOKEN);
|
|
||||||
noiseRegistry.register(addon.key("IMAGE"), ImageSamplerTemplate::new);
|
|
||||||
})
|
|
||||||
.failThrough();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-36
@@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2020-2021 Polyhedral Development
|
|
||||||
*
|
|
||||||
* The Terra Core Addons are licensed under the terms of the MIT License. For more details,
|
|
||||||
* reference the LICENSE file in this module's root directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.dfsek.terra.addons.noise.image.config;
|
|
||||||
|
|
||||||
import com.dfsek.tectonic.api.config.template.annotations.Value;
|
|
||||||
|
|
||||||
import com.dfsek.terra.addons.image.colorsampler.ColorSampler;
|
|
||||||
import com.dfsek.terra.addons.image.util.ColorUtil.Channel;
|
|
||||||
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
|
||||||
import com.dfsek.terra.addons.noise.image.ImageSampler;
|
|
||||||
import com.dfsek.terra.api.config.meta.Meta;
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings({ "unused", "FieldMayBeFinal" })
|
|
||||||
public class ImageSamplerTemplate extends SamplerTemplate<ImageSampler> {
|
|
||||||
|
|
||||||
@Value("image")
|
|
||||||
private @Meta ColorSampler colorSampler;
|
|
||||||
|
|
||||||
@Value("frequency")
|
|
||||||
private @Meta double frequency;
|
|
||||||
|
|
||||||
@Value("channel")
|
|
||||||
private @Meta Channel channel;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public NoiseSampler get() {
|
|
||||||
return new ImageSampler(colorSampler, channel, frequency);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
schema-version: 1
|
|
||||||
contributors:
|
|
||||||
- Terra contributors
|
|
||||||
id: config-noise-image
|
|
||||||
version: @VERSION@
|
|
||||||
entrypoints:
|
|
||||||
- "com.dfsek.terra.addons.noise.image.ImageSamplerAddon"
|
|
||||||
website:
|
|
||||||
issues: https://github.com/PolyhedralDev/Terra/issues
|
|
||||||
source: https://github.com/PolyhedralDev/Terra
|
|
||||||
docs: https://terra.polydev.org
|
|
||||||
license: MIT License
|
|
||||||
depends:
|
|
||||||
library-image: "1.+"
|
|
||||||
Reference in New Issue
Block a user