Compare commits
5 commits
7c3e310ca2
...
c69117aa41
Author | SHA1 | Date | |
---|---|---|---|
c69117aa41 | |||
3ab23aa69a | |||
6d0d7aa3af | |||
65d11300bb | |||
7ab8cc5170 |
6 changed files with 46 additions and 47 deletions
0
.noai
Normal file
0
.noai
Normal file
|
@ -4,15 +4,15 @@ org.gradle.parallel=true
|
||||||
org.gradle.caching=false
|
org.gradle.caching=false
|
||||||
|
|
||||||
# Project Info
|
# Project Info
|
||||||
version=1.0.9
|
version=1.0.10
|
||||||
group=net.pietru
|
group=net.pietru
|
||||||
id=cookie_utils
|
id=cookie_utils
|
||||||
|
|
||||||
# Dependency Versions
|
# Dependency Versions
|
||||||
cosmic_reach_rev=alpha
|
cosmic_reach_rev=alpha
|
||||||
cosmic_reach_version=0.4.6
|
cosmic_reach_version=0.4.7
|
||||||
# If unspecified, will use the version above
|
# If unspecified, will use the version above
|
||||||
cosmic_reach_server_version=0.4.6
|
cosmic_reach_server_version=0.4.7
|
||||||
cosmic_quilt_version=2.3.1
|
cosmic_quilt_version=2.3.1
|
||||||
#2.2.0
|
#2.2.0
|
||||||
|
|
||||||
|
|
|
@ -141,8 +141,9 @@ public class Region {
|
||||||
areas.clear();
|
areas.clear();
|
||||||
|
|
||||||
File regions_folder = new File(SaveLocation.getSaveFolder(),"regions");
|
File regions_folder = new File(SaveLocation.getSaveFolder(),"regions");
|
||||||
if (!regions_folder.exists())
|
if (!regions_folder.exists()) {
|
||||||
regions_folder.mkdirs();
|
boolean ignored = regions_folder.mkdirs();
|
||||||
|
}
|
||||||
ArrayList<File> regions = directory_utils.list_files_in_dir_recursive(regions_folder,((dir, name) -> name.endsWith(".json")));
|
ArrayList<File> regions = directory_utils.list_files_in_dir_recursive(regions_folder,((dir, name) -> name.endsWith(".json")));
|
||||||
if (prop.log_level>-1)
|
if (prop.log_level>-1)
|
||||||
System.out.println("[REGIONS] Trying to load %s areas.".replace("%s", String.valueOf(regions.size())));
|
System.out.println("[REGIONS] Trying to load %s areas.".replace("%s", String.valueOf(regions.size())));
|
||||||
|
@ -186,19 +187,10 @@ public class Region {
|
||||||
if (area.parent.isEmpty()) {
|
if (area.parent.isEmpty()) {
|
||||||
ObjectPermList perms = area.perms;
|
ObjectPermList perms = area.perms;
|
||||||
|
|
||||||
perms.set_bool_perm("place", region.getBoolean("place", false));
|
|
||||||
perms.set_bool_perm("break", region.getBoolean("break", false));
|
|
||||||
perms.set_bool_perm("interact", region.getBoolean("interact", false));
|
|
||||||
perms.set_bool_perm("laser", region.getBoolean("laser", false));
|
|
||||||
perms.set_bool_perm("be_laser", region.getBoolean("laser", true));
|
|
||||||
|
|
||||||
perms.set_bool_perm("explode", region.getBoolean("explode", false));
|
for (String key : ObjectPermList.default_bool_perms.keySet()){
|
||||||
perms.set_bool_perm("enter", region.getBoolean("enter", true));
|
perms.set_bool_perm(key,region.getBoolean(key, ObjectPermList.default_bool_perms.get(key)));
|
||||||
perms.set_bool_perm("spawn_mob", region.getBoolean("spawn_mob", true));
|
}
|
||||||
|
|
||||||
perms.set_bool_perm("pvp", region.getBoolean("pvp", false));
|
|
||||||
perms.set_bool_perm("pve", region.getBoolean("pve", true));
|
|
||||||
perms.set_bool_perm("laser_damage", region.getBoolean("laser_damage", true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -259,7 +251,7 @@ public class Region {
|
||||||
|
|
||||||
File perms_folder = new File(get_path_string(SaveLocation.getSaveFolder().getPath(),"region_perms", area.name));
|
File perms_folder = new File(get_path_string(SaveLocation.getSaveFolder().getPath(),"region_perms", area.name));
|
||||||
if (!perms_folder.exists()) {
|
if (!perms_folder.exists()) {
|
||||||
perms_folder.mkdirs();
|
boolean ignored = perms_folder.mkdirs();
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -271,6 +263,7 @@ public class Region {
|
||||||
writer.write(json.prettyPrint(txt));
|
writer.write(json.prettyPrint(txt));
|
||||||
writer.close();
|
writer.close();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
//noinspection CallToPrintStackTrace
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package net.pietru.cookie_utils.mixins;
|
package net.pietru.cookie_utils.mixins;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.math.Vector3;
|
||||||
import finalforeach.cosmicreach.entities.Entity;
|
import finalforeach.cosmicreach.entities.Entity;
|
||||||
import finalforeach.cosmicreach.world.Zone;
|
import finalforeach.cosmicreach.world.Zone;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
@ -9,4 +10,6 @@ import org.spongepowered.asm.mixin.Shadow;
|
||||||
public class EntityMixin {
|
public class EntityMixin {
|
||||||
@Shadow
|
@Shadow
|
||||||
public Zone zone;
|
public Zone zone;
|
||||||
|
@Shadow
|
||||||
|
public Vector3 position;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import finalforeach.cosmicreach.accounts.Account;
|
||||||
import finalforeach.cosmicreach.entities.Entity;
|
import finalforeach.cosmicreach.entities.Entity;
|
||||||
import finalforeach.cosmicreach.entities.EntityLaserProjectile;
|
import finalforeach.cosmicreach.entities.EntityLaserProjectile;
|
||||||
import finalforeach.cosmicreach.entities.IDamageSource;
|
import finalforeach.cosmicreach.entities.IDamageSource;
|
||||||
|
import finalforeach.cosmicreach.entities.components.PlayerFallDamage;
|
||||||
import finalforeach.cosmicreach.entities.player.PlayerEntity;
|
import finalforeach.cosmicreach.entities.player.PlayerEntity;
|
||||||
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
||||||
import finalforeach.cosmicreach.networking.server.ServerSingletons;
|
import finalforeach.cosmicreach.networking.server.ServerSingletons;
|
||||||
|
@ -20,7 +21,7 @@ import static net.pietru.cookie_utils.api.Region.*;
|
||||||
public class PlayerEntityMixin extends EntityMixin{
|
public class PlayerEntityMixin extends EntityMixin{
|
||||||
|
|
||||||
@Inject(method = "onAttackInteraction", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "onAttackInteraction", at = @At("HEAD"), cancellable = true)
|
||||||
private void event_player_attack(CallbackInfo ci, @Local Entity sourceEntity){
|
private void event_player_attack(CallbackInfo ci, @Local(argsOnly = true) Entity sourceEntity){
|
||||||
if (sourceEntity instanceof PlayerEntity){
|
if (sourceEntity instanceof PlayerEntity){
|
||||||
Account account = ((PlayerEntity) sourceEntity).getPlayer().getAccount();
|
Account account = ((PlayerEntity) sourceEntity).getPlayer().getAccount();
|
||||||
|
|
||||||
|
@ -42,7 +43,7 @@ public class PlayerEntityMixin extends EntityMixin{
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "hit", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "hit", at = @At("HEAD"), cancellable = true)
|
||||||
private void event_player_hit(CallbackInfo ci, @Local IDamageSource damageSource, @Local float amount){
|
private void event_player_hit(CallbackInfo ci, @Local(argsOnly = true) IDamageSource damageSource, @Local(argsOnly = true) float amount){
|
||||||
if (damageSource instanceof Entity) {
|
if (damageSource instanceof Entity) {
|
||||||
if (damageSource instanceof PlayerEntity) {
|
if (damageSource instanceof PlayerEntity) {
|
||||||
Account account = ((PlayerEntity) damageSource).getPlayer().getAccount();
|
Account account = ((PlayerEntity) damageSource).getPlayer().getAccount();
|
||||||
|
@ -62,6 +63,10 @@ public class PlayerEntityMixin extends EntityMixin{
|
||||||
ci.cancel();
|
ci.cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (damageSource instanceof PlayerFallDamage) {
|
||||||
|
if (!can_enter_position(this.position, "fall_damage", this.zone)) {
|
||||||
|
ci.cancel();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,30 @@
|
||||||
package net.pietru.cookie_utils.permissions;
|
package net.pietru.cookie_utils.permissions;
|
||||||
|
|
||||||
import com.badlogic.gdx.utils.JsonValue;
|
import com.badlogic.gdx.utils.JsonValue;
|
||||||
import finalforeach.cosmicreach.settings.ServerSettings;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class ObjectPermList {
|
public class ObjectPermList {
|
||||||
|
public static final Map<String,Boolean> default_bool_perms = new HashMap<>();
|
||||||
|
static {
|
||||||
|
default_bool_perms.put("place", false);
|
||||||
|
default_bool_perms.put("break", false);
|
||||||
|
default_bool_perms.put("interact", false);
|
||||||
|
default_bool_perms.put("laser", false);
|
||||||
|
default_bool_perms.put("be_laser", true);
|
||||||
|
|
||||||
|
default_bool_perms.put("explode", false);
|
||||||
|
default_bool_perms.put("enter", true);
|
||||||
|
default_bool_perms.put("spawn_mob", false);
|
||||||
|
|
||||||
|
default_bool_perms.put("pvp", false);
|
||||||
|
default_bool_perms.put("pve", true);
|
||||||
|
default_bool_perms.put("laser_damage", true);
|
||||||
|
default_bool_perms.put("fall_damage",true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Map<String,Boolean> bool_perms = new HashMap<>();
|
public Map<String,Boolean> bool_perms = new HashMap<>();
|
||||||
|
|
||||||
// switch (action) {
|
// switch (action) {
|
||||||
|
@ -31,34 +49,14 @@ public class ObjectPermList {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void get_default_perms(JsonValue val){
|
public static void get_default_perms(JsonValue val){
|
||||||
val.addChild("place", new JsonValue(false));
|
for (String key : default_bool_perms.keySet()){
|
||||||
val.addChild("break", new JsonValue(false));
|
val.addChild(key,new JsonValue(default_bool_perms.get(key)));
|
||||||
val.addChild("interact", new JsonValue(false));
|
}
|
||||||
val.addChild("laser", new JsonValue(false));
|
|
||||||
val.addChild("be_laser", new JsonValue(true));
|
|
||||||
|
|
||||||
val.addChild("explode", new JsonValue(false));
|
|
||||||
val.addChild("enter", new JsonValue(true));
|
|
||||||
val.addChild("spawn_mob", new JsonValue(false));
|
|
||||||
|
|
||||||
val.addChild("pvp", new JsonValue(false));
|
|
||||||
val.addChild("pve", new JsonValue(true));
|
|
||||||
val.addChild("laser_damage", new JsonValue(true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void get_default_perms(ObjectPermList val){
|
public static void get_default_perms(ObjectPermList val){
|
||||||
val.set_bool_perm("place", false);
|
for (String key : default_bool_perms.keySet()){
|
||||||
val.set_bool_perm("break", false);
|
val.set_bool_perm(key,default_bool_perms.get(key));
|
||||||
val.set_bool_perm("interact", false);
|
}
|
||||||
val.set_bool_perm("laser", false);
|
|
||||||
val.set_bool_perm("be_laser", true);
|
|
||||||
|
|
||||||
val.set_bool_perm("explode", false);
|
|
||||||
val.set_bool_perm("enter", true);
|
|
||||||
val.set_bool_perm("spawn_mob", false);
|
|
||||||
|
|
||||||
val.set_bool_perm("pvp", false);
|
|
||||||
val.set_bool_perm("pve", true);
|
|
||||||
val.set_bool_perm("laser_damage", true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue