From f71c5493edafb130e77dc028d9e29c46032c40c9 Mon Sep 17 00:00:00 2001 From: nicejs-is-cool Date: Thu, 4 Jun 2026 12:19:29 -0300 Subject: [PATCH] add nn_Environment, nn_EnvironmentAction, nn_EnvironmentRequest cllasses... --- src/main/org/neoflock/NeoNucleus/nn_Beep.java | 13 +++++++++++++ .../org/neoflock/NeoNucleus/nn_Environment.java | 11 ++++++++--- .../neoflock/NeoNucleus/nn_EnvironmentAction.java | 10 ++++++++++ .../neoflock/NeoNucleus/nn_EnvironmentRequest.java | 13 +++++++++++++ src/main/org/neoflock/NeoNucleus/nn_MorseBeep.java | 14 ++++++++++++++ 5 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 src/main/org/neoflock/NeoNucleus/nn_Beep.java create mode 100644 src/main/org/neoflock/NeoNucleus/nn_EnvironmentAction.java create mode 100644 src/main/org/neoflock/NeoNucleus/nn_EnvironmentRequest.java create mode 100644 src/main/org/neoflock/NeoNucleus/nn_MorseBeep.java diff --git a/src/main/org/neoflock/NeoNucleus/nn_Beep.java b/src/main/org/neoflock/NeoNucleus/nn_Beep.java new file mode 100644 index 0000000..1d11fbf --- /dev/null +++ b/src/main/org/neoflock/NeoNucleus/nn_Beep.java @@ -0,0 +1,13 @@ +package org.neoflock.NeoNucleus; + +public class nn_Beep { + public final double frequency; + public final double duration; + public final double volume; + + public nn_Beep(double frequency, double duration, double volume) { + this.frequency = frequency; + this.duration = duration; + this.volume = volume; + } +} diff --git a/src/main/org/neoflock/NeoNucleus/nn_Environment.java b/src/main/org/neoflock/NeoNucleus/nn_Environment.java index 696b099..66e113b 100644 --- a/src/main/org/neoflock/NeoNucleus/nn_Environment.java +++ b/src/main/org/neoflock/NeoNucleus/nn_Environment.java @@ -1,6 +1,11 @@ package org.neoflock.NeoNucleus; -public class nn_Environment { - public String a; - // TODO +import java.util.function.Consumer; + +// we're gonna start needing java-side userdatas soon.... +public class nn_Environment extends PointerBackedClass { + public final Consumer handler; + private nn_Environment(Consumer handler) { + this.handler = handler; + } } diff --git a/src/main/org/neoflock/NeoNucleus/nn_EnvironmentAction.java b/src/main/org/neoflock/NeoNucleus/nn_EnvironmentAction.java new file mode 100644 index 0000000..487f4d6 --- /dev/null +++ b/src/main/org/neoflock/NeoNucleus/nn_EnvironmentAction.java @@ -0,0 +1,10 @@ +package org.neoflock.NeoNucleus; + +public enum nn_EnvironmentAction { + NN_ENV_DRAWENERGY, + NN_ENV_POWERON, + NN_ENV_POWEROFF, + NN_ENV_CRASHED, + NN_ENV_BEEP, + NN_ENV_BEEPMORSE, +} diff --git a/src/main/org/neoflock/NeoNucleus/nn_EnvironmentRequest.java b/src/main/org/neoflock/NeoNucleus/nn_EnvironmentRequest.java new file mode 100644 index 0000000..9748701 --- /dev/null +++ b/src/main/org/neoflock/NeoNucleus/nn_EnvironmentRequest.java @@ -0,0 +1,13 @@ +package org.neoflock.NeoNucleus; + +public final class nn_EnvironmentRequest { + public final nn_Computer computer; + public final nn_EnvironmentAction action; + private nn_EnvironmentRequest(nn_Computer computer, nn_EnvironmentAction action) { + this.computer = computer; + this.action = action; + } + public native double getEnergy(); + public native nn_Beep getBeep(); + public native nn_MorseBeep getMorseBeep(); +} diff --git a/src/main/org/neoflock/NeoNucleus/nn_MorseBeep.java b/src/main/org/neoflock/NeoNucleus/nn_MorseBeep.java new file mode 100644 index 0000000..aa1e08f --- /dev/null +++ b/src/main/org/neoflock/NeoNucleus/nn_MorseBeep.java @@ -0,0 +1,14 @@ +package org.neoflock.NeoNucleus; + +public class nn_MorseBeep { + public final String pattern; + public final double frequency; + public final double volume; + + public nn_MorseBeep(String pattern, double frequency, double volume) { + this.pattern = pattern; + this.frequency = frequency; + this.volume = volume; + + } +}