update events
All checks were successful
/ Auto-Build-App (push) Successful in 2m22s

This commit is contained in:
pietru 2024-09-19 16:49:22 +02:00
parent e466ce94d7
commit f08b8d340f
7 changed files with 168 additions and 42 deletions

View file

@ -0,0 +1,48 @@
on:
release:
types: [published]
env:
godot_version: 4.2.1
jobs:
Auto-Build-App:
runs-on: docker
steps:
- name: Install Packages
run: |
apt-get update
apt-get install -y --no-install-recommends zip \
wget \
curl
- name: Check out repository code
uses: actions/checkout@v3
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: Download Godot
run: |
echo "Downloading Godot ${{ env.godot_version }}"
wget https://github.com/godotengine/godot/releases/download/${{ env.godot_version }}-stable/Godot_v${{ env.godot_version }}-stable_linux.x86_64.zip
unzip Godot_v${{ env.godot_version }}-stable_linux.x86_64.zip
rm Godot_v${{ env.godot_version }}-stable_linux.x86_64.zip
mv Godot_v${{ env.godot_version }}-stable_linux.x86_64 godot.x86_64
chmod +x godot.x86_64
- name: Run code
run: godot.x86_64 -s upload_new_release.gd
- run: echo "🖥️ The workflow is now ready to build code on the runner."
- name: Build App
run: |
./gradlew build
ls ${{ gitea.workspace }}
- name: List files in the repository
run: |
ls -lh ${{ gitea.workspace }}
- name: Upload windows build
uses: actions/upload-artifact@v3
with:
name: BuildFiles
path: |
./build/libs/*.jar
!./build/libs/*-sources.jar
- run: echo "🍏 This job's status is ${{ job.status }}."

13
assets.py Normal file
View file

@ -0,0 +1,13 @@
import os
root_dir = './src/main/resources/omni_power' # current directory
pattern = '*.json' # file extension or pattern
assets_txt = './src/main/resources/omni_power/assets.txt' # current directory
files = []
for dirpath, dirnames, filenames in os.walk(root_dir):
for filename in filenames:
if fnmatch.fnmatch(filename, pattern):
files.append(os.path.join(dirpath, filename))
print(files)

View file

@ -75,6 +75,31 @@ dependencies {
//quiltMod "quilt-mod:fluxapi:0.5.8r2"
//quiltMod "dev.crmodders:fluxapi:${fluxapi_version}"//0.5.5
def dir = new File(project.projectDir, "src/main/resources/${id}");
def dir_path = dir.getPath()
def files = dir.listFiles().toList();
List<String> paths = new ArrayList<String>();
while (files.size()>0){
File file = files[0]
files.remove(0)
if (file.isDirectory())
files.addAll(file.listFiles().toList())
else
paths.add(file.getPath())
}
String assets_txt = new File(project.projectDir,"src/main/resources/${id}/assets.txt")
FileWriter writer = new FileWriter(assets_txt)
String txt = ""
for (String path in paths) {
String sb = path.replace(dir_path+"/","${id}:").replace(dir_path+"\\","${id}:");
txt += sb+"\n";
}
writer.write(txt)
writer.close()
}
processResources {
@ -121,6 +146,7 @@ applicationDefaultJvmArgs = [
getQuiltModLocations(configurations.quiltMod) // Adds the jars of any Quilt mods added
]
run {
// To run this project in the game, depend on the creation of jar task
dependsOn "jar"

View file

@ -4,7 +4,7 @@ org.gradle.parallel=true
org.gradle.caching=false
# Project Info
version=1.7.1
version=1.7.2
group=net.pietru
id=omni_power

View file

@ -8,12 +8,18 @@ import net.pietru.omni_power.blockevents.Power;
import dev.crmodders.cosmicquilt.api.entrypoint.ModInitializer;
import org.quiltmc.loader.api.ModContainer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.*;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.List;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
public class OmniPower implements ModInitializer {
public static final String MOD_ID = "omni_power";
@ -32,14 +38,12 @@ public class OmniPower implements ModInitializer {
load_power_event();
try {
for (String path : getResourceFiles("omni_power/block_events")){
System.out.println("Loading "+path);
BlockEvents.loadBlockEventsFromAsset(Gdx.files.classpath(path));
}
} catch (IOException e) {
throw new RuntimeException(e);
List<String> paths = List.of(Gdx.files.internal(MOD_ID + "/assets.txt").readString().split("\n"));
for (String path : paths){
if (path.contains("block_events")) {
System.out.println("Loading " + path);
BlockEvents.loadBlockEventsFromAsset(GameAssetLoader.loadAsset(path)); //Gdx.files.classpath(path)
}
}
System.out.println("Registered OmniPower Events");
@ -64,34 +68,5 @@ public class OmniPower implements ModInitializer {
System.out.println("If msg above says something Duplicate block event action key it might be intended behaviour...");
}
}
public List<String> getResourceFiles(String path) throws IOException {
List<String> filenames = new ArrayList<>();
try (
InputStream in = getResourceAsStream(path);
BufferedReader br = new BufferedReader(new InputStreamReader(in))) {
String resource;
while ((resource = br.readLine()) != null) {
if (resource.endsWith(".json"))
filenames.add(path+"/"+resource);
else
filenames.addAll(getResourceFiles(path+"/"+resource));
}
}
return filenames;
}
private InputStream getResourceAsStream(String resource) {
final InputStream in = getContextClassLoader().getResourceAsStream(resource);
return in == null ? getClass().getResourceAsStream(resource) : in;
}
private ClassLoader getContextClassLoader() {
return Thread.currentThread().getContextClassLoader();
}
}

View file

@ -0,0 +1,56 @@
omni_power:assets.txt
omni_power:blocks\cable.json
omni_power:blocks\cable_adapter.json
omni_power:blocks\cable_merger.json
omni_power:blocks\door_cube.json
omni_power:blocks\lever.json
omni_power:block_events\block_events_cable_merger_off.json
omni_power:block_events\block_events_cable_merger_on.json
omni_power:block_events\block_events_cable_merger_slim_off.json
omni_power:block_events\block_events_cable_merger_slim_on.json
omni_power:block_events\block_events_door_cube_off.json
omni_power:block_events\block_events_door_cube_on.json
omni_power:block_events\block_events_lever_blue_off.json
omni_power:block_events\block_events_lever_blue_on.json
omni_power:block_events\block_events_lever_red_off.json
omni_power:block_events\block_events_lever_red_on.json
omni_power:block_events\adapter\cable_adapter_blue_off.json
omni_power:block_events\adapter\cable_adapter_blue_on.json
omni_power:block_events\adapter\cable_adapter_red_off.json
omni_power:block_events\adapter\cable_adapter_red_on.json
omni_power:models\blocks\model_cable_blue.json
omni_power:models\blocks\model_cable_blue_slim.json
omni_power:models\blocks\model_cable_merger.json
omni_power:models\blocks\model_cable_merger_powered.json
omni_power:models\blocks\model_cable_merger_slim.json
omni_power:models\blocks\model_cable_merger_slim_powered.json
omni_power:models\blocks\model_cable_red.json
omni_power:models\blocks\model_cable_red_slim.json
omni_power:models\blocks\model_door_cube.json
omni_power:models\blocks\model_door_cube_powered.json
omni_power:models\blocks\model_lever_blue.json
omni_power:models\blocks\model_lever_blue_powered.json
omni_power:models\blocks\model_lever_red.json
omni_power:models\blocks\model_lever_red_powered.json
omni_power:sounds\blocks\drop_004.ogg
omni_power:sounds\blocks\maximize_006.ogg
omni_power:sounds\blocks\minimize_006.ogg
omni_power:sounds\blocks\select_006.ogg
omni_power:sounds\blocks\switch_005.ogg
omni_power:sounds\blocks\switch_006.ogg
omni_power:textures\blocks\cable_adapter_blue.png
omni_power:textures\blocks\cable_adapter_red.png
omni_power:textures\blocks\cable_blue.png
omni_power:textures\blocks\cable_merger.png
omni_power:textures\blocks\cable_merger_2.png
omni_power:textures\blocks\cable_red.png
omni_power:textures\blocks\door.png
omni_power:textures\blocks\door_powered.png
omni_power:textures\blocks\emergency.png
omni_power:textures\blocks\flat.png
omni_power:textures\blocks\lever_off_blue.png
omni_power:textures\blocks\lever_off_red.png
omni_power:textures\blocks\lever_on_blue.png
omni_power:textures\blocks\lever_on_red.png
omni_power:models\blocks\adapter\model_cable_adapter_blue.json
omni_power:models\blocks\adapter\model_cable_adapter_red.json

8
upload_new_release.gd Normal file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env -S godot -s
extends SceneTree
func _init():
var repo_link = https://git.percraft.net:444/api/v1/repos/pietru/CR_OmniPower_Mod/releases/latest
print("Hello!")
#'${{secrets.RELEASE_TOKEN}}'
quit()