Compare commits
43 commits
Author | SHA1 | Date | |
---|---|---|---|
51792fe1d4 | |||
f08b8d340f | |||
e466ce94d7 | |||
780e210e4c | |||
1c8086e6f4 | |||
df4c9d7837 | |||
2d985420ee | |||
ffe79d29ff | |||
39089ed81d | |||
ad3ff407b7 | |||
2926fc767d | |||
0c178ee3f4 | |||
10a62fc43c | |||
6ef46acfe7 | |||
f2f9e26210 | |||
8a7a3c07e6 | |||
becde6da54 | |||
8373ad4246 | |||
2a1b80f8b4 | |||
c0cc69a933 | |||
ff3ae762fc | |||
f69fdca129 | |||
82058f5ba6 | |||
b99496316a | |||
2e79491619 | |||
3dc322b5b8 | |||
915e482dbe | |||
6ed005b71e | |||
b124c32c09 | |||
8b7354a33b | |||
f60bab9b66 | |||
4692b937e0 | |||
d69212e6dc | |||
1c37aaba69 | |||
1ac9c56d76 | |||
8894815dcf | |||
ebfc2d3120 | |||
aa027d036f | |||
9ca0fe55da | |||
78d6bfc064 | |||
a978cd8e06 | |||
3c8a0fdeab | |||
9b37426070 |
47
.forgejo/workflows/build.yaml
Normal file
|
@ -0,0 +1,47 @@
|
|||
on: [push]
|
||||
|
||||
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 \
|
||||
ca-certificates \
|
||||
git \
|
||||
git-lfs \
|
||||
wget \
|
||||
curl \
|
||||
zip \
|
||||
openjdk-17-jdk
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
|
||||
- name: Set gradlew perms
|
||||
run: chmod +x ./gradlew
|
||||
- name: List files in the repos
|
||||
run: ls ${{ gitea.workspace }}
|
||||
- name: Init gradle
|
||||
run: ./gradlew init
|
||||
- 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 }}."
|
||||
|
||||
|
48
.forgejo/workflows/release_publish.yaml.disabled
Normal 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 }}."
|
||||
|
||||
|
55
build.gradle
|
@ -6,7 +6,7 @@ plugins {
|
|||
repositories {
|
||||
ivy {
|
||||
name "Cosmic Reach"
|
||||
url "https://cosmic-archive.netlify.app/"
|
||||
url "https://github.com/CRModders/CosmicArchive/raw/main/versions/pre-alpha"
|
||||
patternLayout {
|
||||
artifact "/Cosmic Reach-[revision].jar"
|
||||
}
|
||||
|
@ -20,6 +20,14 @@ repositories {
|
|||
}
|
||||
}
|
||||
|
||||
maven {
|
||||
name "crmReleases"
|
||||
url "https://maven.crmodders.dev/releases"
|
||||
}
|
||||
maven {
|
||||
name "crmReleases"
|
||||
url "https://maven.crmodders.dev/snapshots"
|
||||
}
|
||||
maven {
|
||||
name "JitPack"
|
||||
url "https://jitpack.io"
|
||||
|
@ -39,12 +47,12 @@ repositories {
|
|||
|
||||
mavenCentral()
|
||||
|
||||
// flatDir {
|
||||
// dirs "${rootDir}/mods/"
|
||||
// content {
|
||||
// includeGroup "quilt-mod"
|
||||
// }
|
||||
// }
|
||||
flatDir {
|
||||
dirs "${rootDir}/mods/"
|
||||
content {
|
||||
includeGroup "quilt-mod"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -62,10 +70,36 @@ dependencies {
|
|||
cosmicreach "finalforeach:cosmicreach:${cosmic_reach_version}"
|
||||
|
||||
// Cosmic Quilt
|
||||
quiltMod "org.codeberg.CRModders:cosmic-quilt:${cosmic_quilt_version}"
|
||||
//quiltMod "org.codeberg.CRModders:cosmic-quilt:${cosmic_quilt_version}"
|
||||
implementation "org.codeberg.CRModders:cosmic-quilt:${cosmic_quilt_version}"
|
||||
|
||||
//quiltMod "quilt-mod:resource-loader:1.0.2"
|
||||
quiltMod "com.github.CRModders:FluxAPI:0.4.0"
|
||||
//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 {
|
||||
|
@ -112,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"
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
# Gradle stuff
|
||||
org.gradle.jvmargs=-Xmx4096M
|
||||
org.gradle.parallel=true
|
||||
org.gradle.caching=false
|
||||
org.gradle.jvmargs=-Xmx4096M
|
||||
org.gradle.parallel=true
|
||||
org.gradle.caching=false
|
||||
|
||||
# Project Info
|
||||
version=1.1.0
|
||||
group=net.pietru
|
||||
id=omni_power
|
||||
version=1.7.2
|
||||
group=net.pietru
|
||||
id=omni_power
|
||||
|
||||
# Dependency Versions
|
||||
cosmic_reach_version=0.1.15
|
||||
cosmic_quilt_version=1.1.5
|
||||
cosmic_reach_version=0.3.1
|
||||
cosmic_quilt_version=2.0.2
|
||||
|
||||
#fluxapi_version=0.6.0
|
27
license.txt
|
@ -1,2 +1,25 @@
|
|||
OmniPower Mod © 2024 by pietru(Bartłomiej Burakowski) is licensed under Attribution-NonCommercial 4.0 International.
|
||||
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/
|
||||
OmniPower Mod - License
|
||||
Copyright 2024 pietru(Bartłomiej Burakowski)
|
||||
|
||||
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 with limitation of rights to:
|
||||
use,
|
||||
copy,
|
||||
modify,
|
||||
merge,
|
||||
publish,
|
||||
distribute,
|
||||
sublicense,
|
||||
under 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.
|
BIN
mods/fluxapi-0.5.8r2.jar
Normal file
15
readme.md
|
@ -3,7 +3,20 @@ Mod for game Cosmic Reach.\
|
|||
Based on the example mod for the [Cosmic Quilt](https://codeberg.org/CRModders/cosmic-quilt) Loader
|
||||
|
||||
## Mod requires
|
||||
- Flux API (0.4.0+)
|
||||
- Cosmic Reach (0.1.24+)
|
||||
- Cosmic Quilt (2.0.2+)
|
||||
- Flux API (0.5.9+)
|
||||
|
||||
<br>
|
||||
<br>
|
||||
Mod Licensed under licensed under MIT like license. <br>
|
||||
Check <code>license.txt</code> for details.
|
||||
<br>
|
||||
<br>
|
||||
I call OmniPower license MIT Like cause I belive you can do what you want with it as long as you are not selling it.
|
||||
<br>
|
||||
By selling I don't mean selling other mod that might use OmniPower Power Action.
|
||||
So as long as you are using OmniPower for API feel free to treat license like MIT.
|
||||
|
||||
|
||||
## How to test/build
|
||||
|
|
|
@ -1,26 +1,71 @@
|
|||
package net.pietru.omni_power;
|
||||
|
||||
import dev.crmodders.flux.tags.Identifier;
|
||||
import dev.crmodders.flux.util.BlockBuilderUtils;
|
||||
import finalforeach.cosmicreach.world.blockevents.BlockEvents;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import finalforeach.cosmicreach.GameAssetLoader;
|
||||
import finalforeach.cosmicreach.blockevents.BlockEvents;
|
||||
import finalforeach.cosmicreach.blocks.Block;
|
||||
import net.pietru.omni_power.blockevents.Power;
|
||||
import org.coolcosmos.cosmicquilt.api.entrypoint.ModInitializer;
|
||||
import dev.crmodders.cosmicquilt.api.entrypoint.ModInitializer;
|
||||
import org.quiltmc.loader.api.ModContainer;
|
||||
|
||||
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";
|
||||
public static boolean block_entities = true;
|
||||
public static final String[] blocks = {
|
||||
"cable",
|
||||
"lever",
|
||||
"door_cube",
|
||||
"cable_merger"
|
||||
"cable_merger",
|
||||
"cable_adapter"
|
||||
};
|
||||
@Override
|
||||
public void onInitialize(ModContainer mod) {
|
||||
System.out.println("Pop Structures Mod Initialized!");
|
||||
BlockEvents.registerBlockEventAction(new Power());
|
||||
//if (QuiltLoader.isModLoaded("becraft"))
|
||||
System.out.println("OmniPower Mod Initialized!");
|
||||
|
||||
load_power_event();
|
||||
|
||||
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");
|
||||
|
||||
for (String block:blocks) {
|
||||
BlockBuilderUtils.getBlockFromJson(new Identifier(MOD_ID, block));
|
||||
System.out.println(block);
|
||||
try {
|
||||
Block.loadBlock(GameAssetLoader.loadAsset("omni_power:blocks/"+block+".json"));
|
||||
} catch (Exception var3) {
|
||||
throw new RuntimeException("Error parsing block: " + block, var3);
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("Registered OmniPower Blocks");
|
||||
}
|
||||
|
||||
public static void load_power_event(){
|
||||
try {
|
||||
BlockEvents.registerBlockEventAction(Power.class);
|
||||
} catch (Exception e){
|
||||
System.out.println(e);
|
||||
System.out.println("If msg above says something Duplicate block event action key it might be intended behaviour...");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
package net.pietru.omni_power.api;
|
||||
|
||||
|
||||
public interface IPowerClient {
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package net.pietru.omni_power.api;
|
||||
|
||||
|
||||
import finalforeach.cosmicreach.blockentities.BlockEntity;
|
||||
|
||||
public interface IPowerProducer{
|
||||
void send_to_client(BlockEntity client);
|
||||
}
|
|
@ -1,36 +1,44 @@
|
|||
package net.pietru.omni_power.blockevents;
|
||||
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import com.badlogic.gdx.utils.OrderedMap;
|
||||
import finalforeach.cosmicreach.world.BlockPosition;
|
||||
import finalforeach.cosmicreach.world.World;
|
||||
import finalforeach.cosmicreach.world.blockevents.BlockEventTrigger;
|
||||
import finalforeach.cosmicreach.world.blockevents.IBlockEventAction;
|
||||
import finalforeach.cosmicreach.world.blocks.BlockState;
|
||||
import finalforeach.cosmicreach.blockentities.BlockEntity;
|
||||
import finalforeach.cosmicreach.blockevents.actions.ActionId;
|
||||
import finalforeach.cosmicreach.blockevents.actions.IBlockAction;
|
||||
import finalforeach.cosmicreach.blocks.BlockPosition;
|
||||
import finalforeach.cosmicreach.blockevents.BlockEventTrigger;
|
||||
import finalforeach.cosmicreach.blocks.BlockState;
|
||||
import finalforeach.cosmicreach.world.Zone;
|
||||
import net.pietru.omni_power.OmniPower;
|
||||
import net.pietru.omni_power.api.IPowerClient;
|
||||
import net.pietru.omni_power.api.IPowerProducer;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class Power implements IBlockEventAction {
|
||||
@Override
|
||||
public String getActionId() {
|
||||
System.out.println("Registering "+ OmniPower.MOD_ID+":power");
|
||||
return OmniPower.MOD_ID+":power";
|
||||
@ActionId(id = OmniPower.MOD_ID+":power")
|
||||
public class Power implements IBlockAction {
|
||||
public static boolean block_entities = false;
|
||||
|
||||
public String triggerId;
|
||||
public String cable_group;
|
||||
public boolean self_run = true;
|
||||
|
||||
public Power(){
|
||||
block_entities=OmniPower.block_entities;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void act(BlockState blockState, BlockEventTrigger blockEventTrigger, World world, Map<String, Object> args) {
|
||||
this.act(blockState, blockEventTrigger, world, (BlockPosition)args.get("blockPos"));
|
||||
public void act(BlockState blockState, BlockEventTrigger blockEventTrigger, Zone zone, Map<String, Object> args) {
|
||||
this.act(zone, (BlockPosition)args.get("blockPos"));
|
||||
}
|
||||
|
||||
public void act(BlockState srcBlockState, BlockEventTrigger blockEventTrigger, World world, BlockPosition sourcePos) {
|
||||
OrderedMap<String, Object> p = blockEventTrigger.getParams();
|
||||
String triggerId = (String)p.get("triggerId");
|
||||
String cable_group = (String)p.get("cable_group");
|
||||
Boolean self_run = true;
|
||||
if (p.containsKey("self_run")) {
|
||||
self_run = (Boolean)p.get("self_run");
|
||||
public void act(Zone zone, BlockPosition sourcePos) {
|
||||
boolean source_be = false;
|
||||
BlockEntity source_entity = null;
|
||||
if (block_entities){
|
||||
source_entity = sourcePos.chunk.getBlockEntity(sourcePos.localX,sourcePos.localY,sourcePos.localZ);
|
||||
source_be = (source_entity instanceof IPowerProducer);
|
||||
//System.out.println("SourceEntityID: "+ source_entity.getType().getId() +" BE: "+source_be);
|
||||
}
|
||||
Array<BlockPosition> power_transmitters = new Array<>();
|
||||
Array<BlockPosition> checked_blocks = new Array<>();
|
||||
|
@ -47,17 +55,24 @@ public class Power implements IBlockEventAction {
|
|||
if (targetBlockState==null || targetBlockState.stringId==null){
|
||||
continue;
|
||||
}
|
||||
if (to_check!=sourcePos || self_run){
|
||||
runTrigger(triggerId,to_check,world);
|
||||
if (to_check!=sourcePos || this.self_run){
|
||||
runTrigger(this.triggerId,to_check,zone);
|
||||
}
|
||||
if (targetBlockState.stringId.contains(cable_group)){
|
||||
if (block_entities && source_be){
|
||||
BlockEntity target_entity = to_check.chunk.getBlockEntity(to_check.localX,to_check.localY,to_check.localZ);
|
||||
//if (target_entity!=null)
|
||||
// System.out.println("TargetEntityID: "+target_entity.getType().getId()+" IsPowerClient: "+(target_entity instanceof IPowerClient));
|
||||
if (target_entity instanceof IPowerClient)
|
||||
((IPowerProducer)source_entity).send_to_client(target_entity);
|
||||
}
|
||||
if (targetBlockState.stringId.contains(this.cable_group)){
|
||||
power_transmitters.add(to_check);
|
||||
unchecked_blocks.addAll(get_touching_positions(world,to_check,targetBlockState));
|
||||
unchecked_blocks.addAll(get_touching_positions(zone,to_check,targetBlockState));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void runTrigger(String triggerId, BlockPosition triggerPos, World world) {
|
||||
private void runTrigger(String triggerId, BlockPosition triggerPos, Zone zone) {
|
||||
if (triggerPos != null) {
|
||||
BlockState targetBlockState = triggerPos.getBlockState();
|
||||
if (targetBlockState == null) {
|
||||
|
@ -69,45 +84,65 @@ public class Power implements IBlockEventAction {
|
|||
return;
|
||||
}
|
||||
|
||||
Map<String, Object> args = new HashMap();
|
||||
Map<String, Object> args = new HashMap<>();
|
||||
args.put("blockPos", triggerPos);
|
||||
BlockEventTrigger[] var8 = customTrigger;
|
||||
int var9 = customTrigger.length;
|
||||
|
||||
for(int var10 = 0; var10 < var9; ++var10) {
|
||||
BlockEventTrigger t = var8[var10];
|
||||
t.act(targetBlockState, world, args);
|
||||
for (BlockEventTrigger t : customTrigger) {
|
||||
t.act(targetBlockState, zone, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Array<BlockPosition> get_touching_positions(World world,BlockPosition pos,BlockState state){
|
||||
public Array<BlockPosition> get_touching_positions(Zone zone,BlockPosition pos,BlockState state){
|
||||
Array<BlockPosition> arr = new Array<>();
|
||||
if (state.stringId.contains("xp_power"))
|
||||
arr.add(pos.getOffsetBlockPos(world, 1, 0, 0));
|
||||
if (state.stringId.contains("xm_power"))
|
||||
arr.add(pos.getOffsetBlockPos(world, -1, 0, 0));
|
||||
BlockPosition side_pos;
|
||||
side_pos = pos.getOffsetBlockPos(zone, 1, 0, 0);
|
||||
if (state.stringId.contains("xp_power") && block_has_dir_or_all(side_pos,"xm_power"))
|
||||
arr.add(side_pos);
|
||||
side_pos = pos.getOffsetBlockPos(zone, -1, 0, 0);
|
||||
if (state.stringId.contains("xm_power") && block_has_dir_or_all(side_pos,"xp_power"))
|
||||
arr.add(side_pos);
|
||||
|
||||
if (state.stringId.contains("yp_power"))
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, 1, 0));
|
||||
if (state.stringId.contains("ym_power"))
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, -1, 0));
|
||||
side_pos = pos.getOffsetBlockPos(zone, 0, 1, 0);
|
||||
if (state.stringId.contains("yp_power") && block_has_dir_or_all(side_pos,"ym_power"))
|
||||
arr.add(side_pos);
|
||||
side_pos = pos.getOffsetBlockPos(zone, 0, -1, 0);
|
||||
if (state.stringId.contains("ym_power") && block_has_dir_or_all(side_pos,"yp_power"))
|
||||
arr.add(side_pos);
|
||||
|
||||
if (state.stringId.contains("zp_power"))
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, 0, 1));
|
||||
if (state.stringId.contains("zm_power"))
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, 0, -1));
|
||||
side_pos = pos.getOffsetBlockPos(zone, 0, 0, 1);
|
||||
if (state.stringId.contains("zp_power") && block_has_dir_or_all(side_pos,"zm_power"))
|
||||
arr.add(side_pos);
|
||||
side_pos = pos.getOffsetBlockPos(zone, 0, 0, -1);
|
||||
if (state.stringId.contains("zm_power") && block_has_dir_or_all(side_pos,"zp_power"))
|
||||
arr.add(side_pos);
|
||||
|
||||
if (arr.size<=0) {
|
||||
arr.add(pos.getOffsetBlockPos(world, 1, 0, 0));
|
||||
arr.add(pos.getOffsetBlockPos(world, -1, 0, 0));
|
||||
arr.add(pos.getOffsetBlockPos(zone, 1, 0, 0));
|
||||
arr.add(pos.getOffsetBlockPos(zone, -1, 0, 0));
|
||||
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, 1, 0));
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, -1, 0));
|
||||
arr.add(pos.getOffsetBlockPos(zone, 0, 1, 0));
|
||||
arr.add(pos.getOffsetBlockPos(zone, 0, -1, 0));
|
||||
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, 0, 1));
|
||||
arr.add(pos.getOffsetBlockPos(world, 0, 0, -1));
|
||||
arr.add(pos.getOffsetBlockPos(zone, 0, 0, 1));
|
||||
arr.add(pos.getOffsetBlockPos(zone, 0, 0, -1));
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
public Boolean block_has_dir_or_all(BlockPosition pos, String dir){
|
||||
if (pos==null)
|
||||
return false;
|
||||
BlockState state = pos.getBlockState();
|
||||
if (state==null)
|
||||
return false;
|
||||
return state.stringId.contains(dir) || state.stringId.contains("any_in_power") || !(
|
||||
state.stringId.contains("xp_power")||
|
||||
state.stringId.contains("xm_power")||
|
||||
state.stringId.contains("yp_power")||
|
||||
state.stringId.contains("ym_power")||
|
||||
state.stringId.contains("zp_power")||
|
||||
state.stringId.contains("zm_power")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 180 B |
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_blue.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_red.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:door.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:door.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:door.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:door_powered.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:door_powered.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:door_powered.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:lever_off_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:lever_off_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:lever_off_blue.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:lever_on_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:lever_on_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:lever_on_blue.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:lever_off_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:lever_off_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:lever_off_red.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"parent": "cube",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:lever_on_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:lever_on_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:lever_on_red.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
56
src/main/resources/omni_power/assets.txt
Normal 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
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"parent":"base:block_events_default",
|
||||
"stringId": "omni_power:adapter/cable_adapter_blue_off",
|
||||
"triggers":
|
||||
{
|
||||
"universal_power":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[powered,cable_blue]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "omni_power:power",
|
||||
"parameters":
|
||||
{
|
||||
"triggerId": "power_up_blue",
|
||||
"cable_group": "cable_blue",
|
||||
"self_run": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"power_up_blue":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[powered,cable_blue]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": -1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 1, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": -1, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 1,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": -1,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"parent":"base:block_events_default",
|
||||
"stringId": "omni_power:adapter/cable_adapter_blue_on",
|
||||
"triggers":
|
||||
{
|
||||
"universal_unpower":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[default,cable_blue]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "omni_power:power",
|
||||
"parameters":
|
||||
{
|
||||
"triggerId": "power_down_blue",
|
||||
"cable_group": "cable_blue",
|
||||
"self_run": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"power_down_blue":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[default,cable_blue]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": -1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 1, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": -1, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 1,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": -1,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"parent":"base:block_events_default",
|
||||
"stringId": "omni_power:adapter/cable_adapter_red_off",
|
||||
"triggers":
|
||||
{
|
||||
"universal_power":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[powered,cable_red]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "omni_power:power",
|
||||
"parameters":
|
||||
{
|
||||
"triggerId": "power_up_red",
|
||||
"cable_group": "cable_red",
|
||||
"self_run": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"power_up_red":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[powered,cable_red]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": -1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 1, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": -1, "zOff": 0,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 1,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": -1,
|
||||
"triggerId": "universal_power"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"parent":"base:block_events_default",
|
||||
"stringId": "omni_power:adapter/cable_adapter_red_on",
|
||||
"triggers":
|
||||
{
|
||||
"universal_unpower":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[default,cable_red]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "omni_power:power",
|
||||
"parameters":
|
||||
{
|
||||
"triggerId": "power_down_red",
|
||||
"cable_group": "cable_red",
|
||||
"self_run": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"power_down_red":
|
||||
[
|
||||
{
|
||||
"actionId": "base:replace_block_state",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 0,
|
||||
"blockStateId": "omni_power:cable_adapter[default,cable_red]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": -1, "yOff": 0, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 1, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": -1, "zOff": 0,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": 1,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"actionId": "base:run_trigger",
|
||||
"parameters":
|
||||
{
|
||||
"xOff": 0, "yOff": 0, "zOff": -1,
|
||||
"triggerId": "universal_unpower"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -31,7 +31,7 @@
|
|||
"actionId": "base:play_sound_2d",
|
||||
"parameters":
|
||||
{
|
||||
"sound": "omni_power:switch_006.ogg",
|
||||
"sound": "omni_power:sounds/blocks/switch_006.ogg",
|
||||
"volume": 1,
|
||||
"pitch": 1,
|
||||
"pan": 0
|
|
@ -31,7 +31,7 @@
|
|||
"actionId": "base:play_sound_2d",
|
||||
"parameters":
|
||||
{
|
||||
"sound": "omni_power:switch_005.ogg",
|
||||
"sound": "omni_power:sounds/blocks/switch_005.ogg",
|
||||
"volume": 1,
|
||||
"pitch": 1,
|
||||
"pan": 0
|
|
@ -20,7 +20,7 @@
|
|||
"actionId": "base:play_sound_2d",
|
||||
"parameters":
|
||||
{
|
||||
"sound": "omni_power:maximize_006.ogg",
|
||||
"sound": "omni_power:sounds/blocks/maximize_006.ogg",
|
||||
"volume": 1,
|
||||
"pitch": 1,
|
||||
"pan": 0
|
|
@ -20,7 +20,7 @@
|
|||
"actionId": "base:play_sound_2d",
|
||||
"parameters":
|
||||
{
|
||||
"sound": "omni_power:minimize_006.ogg",
|
||||
"sound": "omni_power:sounds/blocks/minimize_006.ogg",
|
||||
"volume": 1,
|
||||
"pitch": 1,
|
||||
"pan": 0
|
|
@ -20,7 +20,7 @@
|
|||
"actionId": "base:play_sound_2d",
|
||||
"parameters":
|
||||
{
|
||||
"sound": "omni_power:maximize_006.ogg",
|
||||
"sound": "omni_power:sounds/blocks/maximize_006.ogg",
|
||||
"volume": 1,
|
||||
"pitch": 1,
|
||||
"pan": 0
|
|
@ -20,7 +20,7 @@
|
|||
"actionId": "base:play_sound_2d",
|
||||
"parameters":
|
||||
{
|
||||
"sound": "omni_power:minimize_006.ogg",
|
||||
"sound": "omni_power:sounds/blocks/minimize_006.ogg",
|
||||
"volume": 1,
|
||||
"pitch": 1,
|
||||
"pan": 0
|
|
@ -4,9 +4,8 @@
|
|||
{
|
||||
"default,cable_red":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_red",
|
||||
"modelName": "omni_power:models/blocks/model_cable_red.json",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -14,9 +13,8 @@
|
|||
},
|
||||
"default,cable_red,slim":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_red_slim",
|
||||
"modelName": "omni_power:models/blocks/model_cable_red_slim.json",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": false,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -26,9 +24,8 @@
|
|||
|
||||
"default,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_blue",
|
||||
"modelName": "omni_power:models/blocks/model_cable_blue.json",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -36,9 +33,8 @@
|
|||
},
|
||||
"default,cable_blue,slim":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_blue_slim",
|
||||
"modelName": "omni_power:models/blocks/model_cable_blue_slim.json",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": false,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
49
src/main/resources/omni_power/blocks/cable_adapter.json
Normal file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"stringId": "omni_power:cable_adapter",
|
||||
"blockStates":
|
||||
{
|
||||
"default,cable_red":
|
||||
{
|
||||
"modelName": "omni_power:models/blocks/adapter/model_cable_adapter_red.json",
|
||||
"blockEventsId": "omni_power:adapter/cable_adapter_red_off",
|
||||
"isTransparent": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
"lightLevelBlue": 0
|
||||
},
|
||||
"powered,cable_red":
|
||||
{
|
||||
"modelName": "omni_power:models/blocks/adapter/model_cable_adapter_red.json",
|
||||
"blockEventsId": "omni_power:adapter/cable_adapter_red_on",
|
||||
"isTransparent": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
"lightLevelBlue": 0,
|
||||
"catalogHidden": true
|
||||
},
|
||||
|
||||
"default,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:models/blocks/adapter/model_cable_adapter_blue.json",
|
||||
"blockEventsId": "omni_power:adapter/cable_adapter_blue_off",
|
||||
"isTransparent": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
"lightLevelBlue": 0
|
||||
},
|
||||
"powered,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:models/blocks/adapter/model_cable_adapter_blue.json",
|
||||
"blockEventsId": "omni_power:adapter/cable_adapter_blue_on",
|
||||
"isTransparent": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
"lightLevelBlue": 0,
|
||||
"catalogHidden": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,10 +4,9 @@
|
|||
{
|
||||
"default,cable_red,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_merger",
|
||||
"modelName": "omni_power:models/blocks/model_cable_merger.json",
|
||||
"blockEventsId": "omni_power:block_events_cable_merger_off",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -15,10 +14,9 @@
|
|||
},
|
||||
"powered,cable_red,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_merger_powered",
|
||||
"modelName": "omni_power:models/blocks/model_cable_merger_powered.json",
|
||||
"blockEventsId": "omni_power:block_events_cable_merger_on",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -28,10 +26,9 @@
|
|||
|
||||
"default,cable_red,cable_blue,slim":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_merger_slim",
|
||||
"modelName": "omni_power:models/blocks/model_cable_merger_slim.json",
|
||||
"blockEventsId": "omni_power:block_events_cable_merger_slim_off",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": false,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -39,10 +36,9 @@
|
|||
},
|
||||
"powered,cable_red,cable_blue,slim":
|
||||
{
|
||||
"modelName": "omni_power:model_cable_merger_slim_powered",
|
||||
"modelName": "omni_power:models/blocks/model_cable_merger_slim_powered.json",
|
||||
"blockEventsId": "omni_power:block_events_cable_merger_slim_on",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": false,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
|
@ -4,10 +4,9 @@
|
|||
{
|
||||
"default,cable_red,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_door_cube",
|
||||
"modelName": "omni_power:models/blocks/model_door_cube.json",
|
||||
"blockEventsId": "omni_power:block_events_door_cube_off",
|
||||
"isTransparent": true,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -15,11 +14,10 @@
|
|||
},
|
||||
"powered,cable_red,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_door_cube_powered",
|
||||
"modelName": "omni_power:models/blocks/model_door_cube_powered.json",
|
||||
"blockEventsId": "omni_power:block_events_door_cube_on",
|
||||
"isTransparent": true,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
"lightLevelBlue": 0,
|
|
@ -4,10 +4,9 @@
|
|||
{
|
||||
"default,cable_red":
|
||||
{
|
||||
"modelName": "omni_power:model_lever_red",
|
||||
"modelName": "omni_power:models/blocks/model_lever_red.json",
|
||||
"blockEventsId": "omni_power:block_events_lever_red_off",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -15,10 +14,9 @@
|
|||
},
|
||||
"powered,cable_red":
|
||||
{
|
||||
"modelName": "omni_power:model_lever_red_powered",
|
||||
"modelName": "omni_power:models/blocks/model_lever_red_powered.json",
|
||||
"blockEventsId": "omni_power:block_events_lever_red_on",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -29,10 +27,9 @@
|
|||
|
||||
"default,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_lever_blue",
|
||||
"modelName": "omni_power:models/blocks/model_lever_blue.json",
|
||||
"blockEventsId": "omni_power:block_events_lever_blue_off",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
||||
|
@ -40,10 +37,9 @@
|
|||
},
|
||||
"powered,cable_blue":
|
||||
{
|
||||
"modelName": "omni_power:model_lever_blue_powered",
|
||||
"modelName": "omni_power:models/blocks/model_lever_blue_powered.json",
|
||||
"blockEventsId": "omni_power:block_events_lever_blue_on",
|
||||
"isTransparent": false,
|
||||
"generateSlabs": false,
|
||||
"isOpaque": true,
|
||||
"lightLevelRed": 0,
|
||||
"lightLevelGreen": 0,
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_adapter_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_adapter_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_adapter_blue.png"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_adapter_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_adapter_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_adapter_red.png"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_blue.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -4,15 +4,15 @@
|
|||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_blue.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_blue.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_blue.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_blue.png"
|
||||
}
|
||||
},
|
||||
|
|
@ -3,15 +3,15 @@
|
|||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger.png"
|
||||
}
|
||||
},
|
||||
|
|
@ -3,15 +3,15 @@
|
|||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger_2.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger_2.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger_2.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger_2.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger_2.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger_2.png"
|
||||
}
|
||||
},
|
||||
|
|
@ -4,15 +4,15 @@
|
|||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger.png"
|
||||
}
|
||||
},
|
||||
|
|
@ -4,15 +4,15 @@
|
|||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger_2.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger_2.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger_2.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger_2.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_merger_2.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_merger_2.png"
|
||||
}
|
||||
},
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/cable_red.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -4,15 +4,15 @@
|
|||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:cable_red.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:cable_red.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:cable_red.png"
|
||||
"fileName": "omni_power:textures/blocks/cable_red.png"
|
||||
}
|
||||
},
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/door.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/door.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/door.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/door_powered.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/door_powered.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/door_powered.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_off_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_off_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_off_blue.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_on_blue.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_on_blue.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_on_blue.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_off_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_off_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_off_red.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"parent": "base:models/blocks/cube.json",
|
||||
|
||||
"textures":
|
||||
{
|
||||
"top":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_on_red.png"
|
||||
},
|
||||
"bottom":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_on_red.png"
|
||||
},
|
||||
"side":
|
||||
{
|
||||
"fileName": "omni_power:textures/blocks/lever_on_red.png"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 567 B After Width: | Height: | Size: 567 B |
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 579 B |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 555 B |
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 555 B |
BIN
src/main/resources/omnipower_icon.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
|
@ -21,7 +21,7 @@
|
|||
"sources": "https://example.com/"
|
||||
},
|
||||
|
||||
"icon": "assets/pop_structures/icon.png"
|
||||
"icon": "omnipower_icon.png"
|
||||
},
|
||||
|
||||
"entrypoints": {
|
||||
|
@ -31,15 +31,11 @@
|
|||
"depends": [
|
||||
{
|
||||
"id": "cosmic_quilt",
|
||||
"versions": "*"
|
||||
"versions": ">=2.0.2"
|
||||
},
|
||||
{
|
||||
"id": "cosmic_reach",
|
||||
"versions": "*"
|
||||
},
|
||||
{
|
||||
"id": "fluxapi",
|
||||
"versions": ">=0.4.0"
|
||||
"versions": ">=0.3.1"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
8
upload_new_release.gd
Normal 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()
|