update stuff

This commit is contained in:
pietru 2024-03-30 21:54:58 +01:00
parent a978cd8e06
commit 78d6bfc064
6 changed files with 39 additions and 36 deletions

View file

@ -65,9 +65,9 @@ dependencies {
quiltMod "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 "com.github.CRModders:FluxAPI:0.5.3"
quiltMod "com.github.ForwarD-NerN:BlockEntityPrototype:master-SNAPSHOT"
quiltMod "com.github.ForwarD-NerN:BlockEntityPrototype:fe52c5a"
}
processResources {

View file

@ -4,10 +4,10 @@
org.gradle.caching=false
# Project Info
version=1.2.0
version=1.3.0
group=net.pietru
id=omni_power
# Dependency Versions
cosmic_reach_version=0.1.15
cosmic_quilt_version=1.1.5
cosmic_reach_version=0.1.17
cosmic_quilt_version=1.2.4

View file

@ -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
## Mod requires
- Flux API (0.4.0+)
- Cosmic Reach (0.1.17+)
- Cosmic Quilt (1.2.4+)
- Flux API (0.5.2+)
<br>
<br>

View file

@ -2,7 +2,7 @@ package net.pietru.omni_power;
import dev.crmodders.flux.tags.Identifier;
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 org.coolcosmos.cosmicquilt.api.entrypoint.ModInitializer;
import org.quiltmc.loader.api.ModContainer;

View file

@ -2,15 +2,16 @@ 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.blocks.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.blockevents.BlockEventTrigger;
import finalforeach.cosmicreach.blockevents.IBlockEventAction;
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 ru.nern.becraft.bed.BEUtils;
import ru.nern.becraft.bed.utils.BEUtils;
import ru.nern.becraft.bed.api.BlockEntity;
import java.util.HashMap;
@ -29,11 +30,11 @@ public class Power implements IBlockEventAction {
}
@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(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();
String triggerId = (String)p.get("triggerId");
String cable_group = (String)p.get("cable_group");
@ -63,7 +64,7 @@ public class Power implements IBlockEventAction {
continue;
}
if (to_check!=sourcePos || self_run){
runTrigger(triggerId,to_check,world);
runTrigger(triggerId,to_check,zone);
}
if (block_entities && source_be){
BlockEntity target_entity = BEUtils.getBlockEntity(sourcePos);
@ -72,12 +73,12 @@ public class Power implements IBlockEventAction {
}
if (targetBlockState.stringId.contains(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) {
@ -96,44 +97,44 @@ public class Power implements IBlockEventAction {
for(int var10 = 0; var10 < var9; ++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<>();
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"))
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"))
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"))
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"))
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"))
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"))
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;
}

View file

@ -31,22 +31,22 @@
"depends": [
{
"id": "cosmic_quilt",
"versions": "*"
"versions": ">=1.2.4"
},
{
"id": "cosmic_reach",
"versions": "*"
"versions": ">=0.1.17"
},
{
"id": "fluxapi",
"versions": ">=0.4.0"
"versions": ">=0.5.2"
}
],
"suggests": [
{
"id": "becraft",
"versions": ">=1.0.7"
"versions": ">=1.2.0"
}
]
},