Compare commits

..

No commits in common. "c69117aa41f2d22a49ba22b73c73847168c78727" and "7c3e310ca2e90702aa819d8a8b96767c6aa01374" have entirely different histories.

6 changed files with 47 additions and 46 deletions

0
.noai
View file

View file

@ -4,15 +4,15 @@ org.gradle.parallel=true
org.gradle.caching=false org.gradle.caching=false
# Project Info # Project Info
version=1.0.10 version=1.0.9
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.7 cosmic_reach_version=0.4.6
# If unspecified, will use the version above # If unspecified, will use the version above
cosmic_reach_server_version=0.4.7 cosmic_reach_server_version=0.4.6
cosmic_quilt_version=2.3.1 cosmic_quilt_version=2.3.1
#2.2.0 #2.2.0

View file

@ -141,9 +141,8 @@ 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())
boolean ignored = regions_folder.mkdirs(); 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())));
@ -187,10 +186,19 @@ 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));
for (String key : ObjectPermList.default_bool_perms.keySet()){ perms.set_bool_perm("explode", region.getBoolean("explode", false));
perms.set_bool_perm(key,region.getBoolean(key, ObjectPermList.default_bool_perms.get(key))); perms.set_bool_perm("enter", region.getBoolean("enter", true));
} 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));
} }
@ -251,7 +259,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()) {
boolean ignored = perms_folder.mkdirs(); perms_folder.mkdirs();
} }
try { try {
@ -263,7 +271,6 @@ 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();
} }

View file

@ -1,6 +1,5 @@
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;
@ -10,6 +9,4 @@ import org.spongepowered.asm.mixin.Shadow;
public class EntityMixin { public class EntityMixin {
@Shadow @Shadow
public Zone zone; public Zone zone;
@Shadow
public Vector3 position;
} }

View file

@ -5,7 +5,6 @@ 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;
@ -21,7 +20,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(argsOnly = true) Entity sourceEntity){ private void event_player_attack(CallbackInfo ci, @Local Entity sourceEntity){
if (sourceEntity instanceof PlayerEntity){ if (sourceEntity instanceof PlayerEntity){
Account account = ((PlayerEntity) sourceEntity).getPlayer().getAccount(); Account account = ((PlayerEntity) sourceEntity).getPlayer().getAccount();
@ -43,7 +42,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(argsOnly = true) IDamageSource damageSource, @Local(argsOnly = true) float amount){ private void event_player_hit(CallbackInfo ci, @Local IDamageSource damageSource, @Local 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();
@ -63,10 +62,6 @@ 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();
}
} }
} }
} }

View file

@ -1,30 +1,12 @@
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) {
@ -49,14 +31,34 @@ public class ObjectPermList {
} }
public static void get_default_perms(JsonValue val){ public static void get_default_perms(JsonValue val){
for (String key : default_bool_perms.keySet()){ val.addChild("place", new JsonValue(false));
val.addChild(key,new JsonValue(default_bool_perms.get(key))); val.addChild("break", new JsonValue(false));
} 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){
for (String key : default_bool_perms.keySet()){ val.set_bool_perm("place", false);
val.set_bool_perm(key,default_bool_perms.get(key)); val.set_bool_perm("break", false);
} 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);
} }
} }