update stuff
This commit is contained in:
parent
a978cd8e06
commit
78d6bfc064
6 changed files with 39 additions and 36 deletions
|
@ -65,9 +65,9 @@ dependencies {
|
||||||
quiltMod "org.codeberg.CRModders:cosmic-quilt:${cosmic_quilt_version}"
|
quiltMod "org.codeberg.CRModders:cosmic-quilt:${cosmic_quilt_version}"
|
||||||
|
|
||||||
//quiltMod "quilt-mod:resource-loader:1.0.2"
|
//quiltMod "quilt-mod:resource-loader:1.0.2"
|
||||||
quiltMod "com.github.CRModders:FluxAPI:0.4.0"
|
quiltMod "com.github.CRModders:FluxAPI:0.5.3"
|
||||||
|
|
||||||
quiltMod "com.github.ForwarD-NerN:BlockEntityPrototype:master-SNAPSHOT"
|
quiltMod "com.github.ForwarD-NerN:BlockEntityPrototype:fe52c5a"
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
org.gradle.caching=false
|
org.gradle.caching=false
|
||||||
|
|
||||||
# Project Info
|
# Project Info
|
||||||
version=1.2.0
|
version=1.3.0
|
||||||
group=net.pietru
|
group=net.pietru
|
||||||
id=omni_power
|
id=omni_power
|
||||||
|
|
||||||
# Dependency Versions
|
# Dependency Versions
|
||||||
cosmic_reach_version=0.1.15
|
cosmic_reach_version=0.1.17
|
||||||
cosmic_quilt_version=1.1.5
|
cosmic_quilt_version=1.2.4
|
||||||
|
|
|
@ -3,7 +3,9 @@ Mod for game Cosmic Reach.\
|
||||||
Based on the example mod for the [Cosmic Quilt](https://codeberg.org/CRModders/cosmic-quilt) Loader
|
Based on the example mod for the [Cosmic Quilt](https://codeberg.org/CRModders/cosmic-quilt) Loader
|
||||||
|
|
||||||
## Mod requires
|
## Mod requires
|
||||||
- Flux API (0.4.0+)
|
- Cosmic Reach (0.1.17+)
|
||||||
|
- Cosmic Quilt (1.2.4+)
|
||||||
|
- Flux API (0.5.2+)
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
|
@ -2,7 +2,7 @@ package net.pietru.omni_power;
|
||||||
|
|
||||||
import dev.crmodders.flux.tags.Identifier;
|
import dev.crmodders.flux.tags.Identifier;
|
||||||
import dev.crmodders.flux.util.BlockBuilderUtils;
|
import dev.crmodders.flux.util.BlockBuilderUtils;
|
||||||
import finalforeach.cosmicreach.world.blockevents.BlockEvents;
|
import finalforeach.cosmicreach.blockevents.BlockEvents;
|
||||||
import net.pietru.omni_power.blockevents.Power;
|
import net.pietru.omni_power.blockevents.Power;
|
||||||
import org.coolcosmos.cosmicquilt.api.entrypoint.ModInitializer;
|
import org.coolcosmos.cosmicquilt.api.entrypoint.ModInitializer;
|
||||||
import org.quiltmc.loader.api.ModContainer;
|
import org.quiltmc.loader.api.ModContainer;
|
||||||
|
|
|
@ -2,15 +2,16 @@ package net.pietru.omni_power.blockevents;
|
||||||
|
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import com.badlogic.gdx.utils.OrderedMap;
|
import com.badlogic.gdx.utils.OrderedMap;
|
||||||
import finalforeach.cosmicreach.world.BlockPosition;
|
import finalforeach.cosmicreach.blocks.BlockPosition;
|
||||||
import finalforeach.cosmicreach.world.World;
|
import finalforeach.cosmicreach.world.World;
|
||||||
import finalforeach.cosmicreach.world.blockevents.BlockEventTrigger;
|
import finalforeach.cosmicreach.blockevents.BlockEventTrigger;
|
||||||
import finalforeach.cosmicreach.world.blockevents.IBlockEventAction;
|
import finalforeach.cosmicreach.blockevents.IBlockEventAction;
|
||||||
import finalforeach.cosmicreach.world.blocks.BlockState;
|
import finalforeach.cosmicreach.blocks.BlockState;
|
||||||
|
import finalforeach.cosmicreach.world.Zone;
|
||||||
import net.pietru.omni_power.OmniPower;
|
import net.pietru.omni_power.OmniPower;
|
||||||
import net.pietru.omni_power.api.IPowerClient;
|
import net.pietru.omni_power.api.IPowerClient;
|
||||||
import net.pietru.omni_power.api.IPowerProducer;
|
import net.pietru.omni_power.api.IPowerProducer;
|
||||||
import ru.nern.becraft.bed.BEUtils;
|
import ru.nern.becraft.bed.utils.BEUtils;
|
||||||
import ru.nern.becraft.bed.api.BlockEntity;
|
import ru.nern.becraft.bed.api.BlockEntity;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -29,11 +30,11 @@ public class Power implements IBlockEventAction {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void act(BlockState blockState, BlockEventTrigger blockEventTrigger, World world, Map<String, Object> args) {
|
public void act(BlockState blockState, BlockEventTrigger blockEventTrigger, Zone zone, Map<String, Object> args) {
|
||||||
this.act(blockState, blockEventTrigger, world, (BlockPosition)args.get("blockPos"));
|
this.act(blockState, blockEventTrigger, zone, (BlockPosition)args.get("blockPos"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void act(BlockState srcBlockState, BlockEventTrigger blockEventTrigger, World world, BlockPosition sourcePos) {
|
public void act(BlockState srcBlockState, BlockEventTrigger blockEventTrigger, Zone zone, BlockPosition sourcePos) {
|
||||||
OrderedMap<String, Object> p = blockEventTrigger.getParams();
|
OrderedMap<String, Object> p = blockEventTrigger.getParams();
|
||||||
String triggerId = (String)p.get("triggerId");
|
String triggerId = (String)p.get("triggerId");
|
||||||
String cable_group = (String)p.get("cable_group");
|
String cable_group = (String)p.get("cable_group");
|
||||||
|
@ -63,7 +64,7 @@ public class Power implements IBlockEventAction {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (to_check!=sourcePos || self_run){
|
if (to_check!=sourcePos || self_run){
|
||||||
runTrigger(triggerId,to_check,world);
|
runTrigger(triggerId,to_check,zone);
|
||||||
}
|
}
|
||||||
if (block_entities && source_be){
|
if (block_entities && source_be){
|
||||||
BlockEntity target_entity = BEUtils.getBlockEntity(sourcePos);
|
BlockEntity target_entity = BEUtils.getBlockEntity(sourcePos);
|
||||||
|
@ -72,12 +73,12 @@ public class Power implements IBlockEventAction {
|
||||||
}
|
}
|
||||||
if (targetBlockState.stringId.contains(cable_group)){
|
if (targetBlockState.stringId.contains(cable_group)){
|
||||||
power_transmitters.add(to_check);
|
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) {
|
if (triggerPos != null) {
|
||||||
BlockState targetBlockState = triggerPos.getBlockState();
|
BlockState targetBlockState = triggerPos.getBlockState();
|
||||||
if (targetBlockState == null) {
|
if (targetBlockState == null) {
|
||||||
|
@ -96,44 +97,44 @@ public class Power implements IBlockEventAction {
|
||||||
|
|
||||||
for(int var10 = 0; var10 < var9; ++var10) {
|
for(int var10 = 0; var10 < var9; ++var10) {
|
||||||
BlockEventTrigger t = var8[var10];
|
BlockEventTrigger t = var8[var10];
|
||||||
t.act(targetBlockState, world, args);
|
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<>();
|
Array<BlockPosition> arr = new Array<>();
|
||||||
BlockPosition side_pos;
|
BlockPosition side_pos;
|
||||||
side_pos = pos.getOffsetBlockPos(world, 1, 0, 0);
|
side_pos = pos.getOffsetBlockPos(zone, 1, 0, 0);
|
||||||
if (state.stringId.contains("xp_power") && block_has_dir_or_all(side_pos,"xm_power"))
|
if (state.stringId.contains("xp_power") && block_has_dir_or_all(side_pos,"xm_power"))
|
||||||
arr.add(side_pos);
|
arr.add(side_pos);
|
||||||
side_pos = pos.getOffsetBlockPos(world, -1, 0, 0);
|
side_pos = pos.getOffsetBlockPos(zone, -1, 0, 0);
|
||||||
if (state.stringId.contains("xm_power") && block_has_dir_or_all(side_pos,"xp_power"))
|
if (state.stringId.contains("xm_power") && block_has_dir_or_all(side_pos,"xp_power"))
|
||||||
arr.add(side_pos);
|
arr.add(side_pos);
|
||||||
|
|
||||||
side_pos = 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"))
|
if (state.stringId.contains("yp_power") && block_has_dir_or_all(side_pos,"ym_power"))
|
||||||
arr.add(side_pos);
|
arr.add(side_pos);
|
||||||
side_pos = pos.getOffsetBlockPos(world, 0, -1, 0);
|
side_pos = pos.getOffsetBlockPos(zone, 0, -1, 0);
|
||||||
if (state.stringId.contains("ym_power") && block_has_dir_or_all(side_pos,"yp_power"))
|
if (state.stringId.contains("ym_power") && block_has_dir_or_all(side_pos,"yp_power"))
|
||||||
arr.add(side_pos);
|
arr.add(side_pos);
|
||||||
|
|
||||||
side_pos = 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"))
|
if (state.stringId.contains("zp_power") && block_has_dir_or_all(side_pos,"zm_power"))
|
||||||
arr.add(side_pos);
|
arr.add(side_pos);
|
||||||
side_pos = pos.getOffsetBlockPos(world, 0, 0, -1);
|
side_pos = pos.getOffsetBlockPos(zone, 0, 0, -1);
|
||||||
if (state.stringId.contains("zm_power") && block_has_dir_or_all(side_pos,"zp_power"))
|
if (state.stringId.contains("zm_power") && block_has_dir_or_all(side_pos,"zp_power"))
|
||||||
arr.add(side_pos);
|
arr.add(side_pos);
|
||||||
|
|
||||||
if (arr.size<=0) {
|
if (arr.size<=0) {
|
||||||
arr.add(pos.getOffsetBlockPos(world, 1, 0, 0));
|
arr.add(pos.getOffsetBlockPos(zone, 1, 0, 0));
|
||||||
arr.add(pos.getOffsetBlockPos(world, -1, 0, 0));
|
arr.add(pos.getOffsetBlockPos(zone, -1, 0, 0));
|
||||||
|
|
||||||
arr.add(pos.getOffsetBlockPos(world, 0, 1, 0));
|
arr.add(pos.getOffsetBlockPos(zone, 0, 1, 0));
|
||||||
arr.add(pos.getOffsetBlockPos(world, 0, -1, 0));
|
arr.add(pos.getOffsetBlockPos(zone, 0, -1, 0));
|
||||||
|
|
||||||
arr.add(pos.getOffsetBlockPos(world, 0, 0, 1));
|
arr.add(pos.getOffsetBlockPos(zone, 0, 0, 1));
|
||||||
arr.add(pos.getOffsetBlockPos(world, 0, 0, -1));
|
arr.add(pos.getOffsetBlockPos(zone, 0, 0, -1));
|
||||||
}
|
}
|
||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,22 +31,22 @@
|
||||||
"depends": [
|
"depends": [
|
||||||
{
|
{
|
||||||
"id": "cosmic_quilt",
|
"id": "cosmic_quilt",
|
||||||
"versions": "*"
|
"versions": ">=1.2.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cosmic_reach",
|
"id": "cosmic_reach",
|
||||||
"versions": "*"
|
"versions": ">=0.1.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "fluxapi",
|
"id": "fluxapi",
|
||||||
"versions": ">=0.4.0"
|
"versions": ">=0.5.2"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
"suggests": [
|
"suggests": [
|
||||||
{
|
{
|
||||||
"id": "becraft",
|
"id": "becraft",
|
||||||
"versions": ">=1.0.7"
|
"versions": ">=1.2.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue