Skip to content

Commit

Permalink
API Documentation and AT some stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
Dueris committed Jun 7, 2024
1 parent 9d0f943 commit 73bf1ec
Show file tree
Hide file tree
Showing 21 changed files with 447 additions and 90 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
name: Build ${{ github.run_number }}
tag_name: ${{ github.run_number }}
tag_name: mc1.20/6-v1.0.0
body: \"changes\"=${{ github.event.head_commit.message }}
token: ${{ secrets.GIT_TOKEN }}
files: build/libs/*.jar
Expand Down
317 changes: 317 additions & 0 deletions API-DOCS.md

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion calio/src/main/java/me/dueris/calio/CraftCalio.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.bukkit.NamespacedKey;

import java.io.*;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.nio.file.Path;
import java.util.*;
Expand Down
65 changes: 65 additions & 0 deletions origins/src/main/java/me/dueris/genesismc/Bootstrap.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,31 @@

import io.papermc.paper.plugin.bootstrap.BootstrapContext;
import io.papermc.paper.plugin.bootstrap.PluginBootstrap;
import it.unimi.dsi.fastutil.Pair;
import me.dueris.calio.CraftCalio;
import me.dueris.calio.data.JsonObjectRemapper;
import me.dueris.calio.registry.Registrar;
import me.dueris.calio.registry.impl.CalioRegistry;
import me.dueris.genesismc.factory.actions.types.BiEntityActions;
import me.dueris.genesismc.factory.actions.types.BlockActions;
import me.dueris.genesismc.factory.actions.types.EntityActions;
import me.dueris.genesismc.factory.actions.types.ItemActions;
import me.dueris.genesismc.factory.conditions.types.BiEntityConditions;
import me.dueris.genesismc.factory.conditions.types.BiomeConditions;
import me.dueris.genesismc.factory.conditions.types.BlockConditions;
import me.dueris.genesismc.factory.conditions.types.DamageConditions;
import me.dueris.genesismc.factory.conditions.types.EntityConditions;
import me.dueris.genesismc.factory.conditions.types.FluidConditions;
import me.dueris.genesismc.factory.conditions.types.ItemConditions;
import me.dueris.genesismc.factory.powers.holder.PowerType;
import me.dueris.genesismc.registry.Registries;
import me.dueris.genesismc.registry.nms.OriginLootCondition;
import me.dueris.genesismc.registry.nms.PowerLootCondition;
import me.dueris.genesismc.registry.registries.DatapackRepository;
import me.dueris.genesismc.registry.registries.Layer;
import me.dueris.genesismc.registry.registries.Origin;
import me.dueris.genesismc.screen.ChoosingPage;
import me.dueris.genesismc.util.TextureLocation;
import me.dueris.genesismc.util.Util;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
Expand All @@ -29,6 +52,7 @@
// TODO: WaterProtection Enchantment - 1.21
public class Bootstrap implements PluginBootstrap {
public static ArrayList<String> oldDV = new ArrayList<>();
private CalioRegistry registry;

static {
oldDV.add("OriginsGenesis");
Expand Down Expand Up @@ -144,6 +168,47 @@ public void bootstrap(@NotNull BootstrapContext context) {
}
Registry.register(BuiltInRegistries.LOOT_CONDITION_TYPE, new ResourceLocation("apoli", "power"), PowerLootCondition.TYPE);
Registry.register(BuiltInRegistries.LOOT_CONDITION_TYPE, new ResourceLocation("origins", "origin"), OriginLootCondition.TYPE);

JsonObjectRemapper.typeMappings.add(new Pair<String, String>() {
@Override
public String left() {
return "origins";
}

@Override
public String right() {
return "apoli";
}
});
// Our version of restricted_armor allows handling of both.
JsonObjectRemapper.typeAlias.put("apoli:conditioned_restrict_armor", "apoli:restrict_armor");
JsonObjectRemapper.typeAlias.put("apugli:edible_item", "apoli:edible_item");
JsonObjectRemapper.typeAlias.put("apoli:modify_attribute", "apoli:conditioned_attribute");
JsonObjectRemapper.typeAlias.put("apoli:add_to_set", "apoli:add_to_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:remove_from_set", "apoli:remove_from_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:action_on_set", "apoli:action_on_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:in_set", "apoli:in_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:set_size", "apoli:entity_set_size");

this.registry = CalioRegistry.INSTANCE;
// Create new registry instances
this.registry.create(Registries.ORIGIN, new Registrar<Origin>(Origin.class));
this.registry.create(Registries.LAYER, new Registrar<Layer>(Layer.class));
this.registry.create(Registries.CRAFT_POWER, new Registrar<PowerType>(PowerType.class));
this.registry.create(Registries.FLUID_CONDITION, new Registrar<FluidConditions.ConditionFactory>(FluidConditions.ConditionFactory.class));
this.registry.create(Registries.ENTITY_CONDITION, new Registrar<EntityConditions.ConditionFactory>(EntityConditions.ConditionFactory.class));
this.registry.create(Registries.BIOME_CONDITION, new Registrar<BiomeConditions.ConditionFactory>(BiomeConditions.ConditionFactory.class));
this.registry.create(Registries.BIENTITY_CONDITION, new Registrar<BiEntityConditions.ConditionFactory>(BiEntityConditions.ConditionFactory.class));
this.registry.create(Registries.BLOCK_CONDITION, new Registrar<BlockConditions.ConditionFactory>(BlockConditions.ConditionFactory.class));
this.registry.create(Registries.ITEM_CONDITION, new Registrar<ItemConditions.ConditionFactory>(ItemConditions.ConditionFactory.class));
this.registry.create(Registries.DAMAGE_CONDITION, new Registrar<DamageConditions.ConditionFactory>(DamageConditions.ConditionFactory.class));
this.registry.create(Registries.ENTITY_ACTION, new Registrar<EntityActions.ActionFactory>(EntityActions.ActionFactory.class));
this.registry.create(Registries.ITEM_ACTION, new Registrar<ItemActions.ActionFactory>(ItemActions.ActionFactory.class));
this.registry.create(Registries.BLOCK_ACTION, new Registrar<BlockActions.ActionFactory>(BlockActions.ActionFactory.class));
this.registry.create(Registries.BIENTITY_ACTION, new Registrar<BiEntityActions.ActionFactory>(BiEntityActions.ActionFactory.class));
this.registry.create(Registries.TEXTURE_LOCATION, new Registrar<TextureLocation>(TextureLocation.class));
this.registry.create(Registries.PACK_SOURCE, new Registrar<DatapackRepository>(DatapackRepository.class));
this.registry.create(Registries.CHOOSING_PAGE, new Registrar<ChoosingPage>(ChoosingPage.class));
}

public String parseDatapackPath() {
Expand Down
40 changes: 0 additions & 40 deletions origins/src/main/java/me/dueris/genesismc/GenesisMC.java
Original file line number Diff line number Diff line change
Expand Up @@ -179,26 +179,6 @@ public void onEnable() {
}

debug(Component.text("* (-debugOrigins={true}) || BEGINNING DEBUG {"));
JsonObjectRemapper.typeMappings.add(new Pair<String, String>() {
@Override
public String left() {
return "origins";
}

@Override
public String right() {
return "apoli";
}
});
// Our version of restricted_armor allows handling of both.
JsonObjectRemapper.typeAlias.put("apoli:conditioned_restrict_armor", "apoli:restrict_armor");
JsonObjectRemapper.typeAlias.put("apugli:edible_item", "apoli:edible_item");
JsonObjectRemapper.typeAlias.put("apoli:modify_attribute", "apoli:conditioned_attribute");
JsonObjectRemapper.typeAlias.put("apoli:add_to_set", "apoli:add_to_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:remove_from_set", "apoli:remove_from_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:action_on_set", "apoli:action_on_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:in_set", "apoli:in_entity_set");
JsonObjectRemapper.typeAlias.put("apoli:set_size", "apoli:entity_set_size");
ThreadFactory threadFactory = new NamedTickThreadFactory("OriginParsingPool");
placeholderapi = Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null;
if (placeholderapi) new PlaceHolderAPI(this).register();
Expand All @@ -210,26 +190,6 @@ public String right() {
OriginDataContainer.loadData();
conditionExecutor = new ConditionExecutor();

this.registry = CalioRegistry.INSTANCE;
// Create new registry instances
this.registry.create(Registries.ORIGIN, new Registrar<Origin>(Origin.class));
this.registry.create(Registries.LAYER, new Registrar<Layer>(Layer.class));
this.registry.create(Registries.CRAFT_POWER, new Registrar<PowerType>(PowerType.class));
this.registry.create(Registries.FLUID_CONDITION, new Registrar<FluidConditions.ConditionFactory>(FluidConditions.ConditionFactory.class));
this.registry.create(Registries.ENTITY_CONDITION, new Registrar<EntityConditions.ConditionFactory>(EntityConditions.ConditionFactory.class));
this.registry.create(Registries.BIOME_CONDITION, new Registrar<BiomeConditions.ConditionFactory>(BiomeConditions.ConditionFactory.class));
this.registry.create(Registries.BIENTITY_CONDITION, new Registrar<BiEntityConditions.ConditionFactory>(BiEntityConditions.ConditionFactory.class));
this.registry.create(Registries.BLOCK_CONDITION, new Registrar<BlockConditions.ConditionFactory>(BlockConditions.ConditionFactory.class));
this.registry.create(Registries.ITEM_CONDITION, new Registrar<ItemConditions.ConditionFactory>(ItemConditions.ConditionFactory.class));
this.registry.create(Registries.DAMAGE_CONDITION, new Registrar<DamageConditions.ConditionFactory>(DamageConditions.ConditionFactory.class));
this.registry.create(Registries.ENTITY_ACTION, new Registrar<EntityActions.ActionFactory>(EntityActions.ActionFactory.class));
this.registry.create(Registries.ITEM_ACTION, new Registrar<ItemActions.ActionFactory>(ItemActions.ActionFactory.class));
this.registry.create(Registries.BLOCK_ACTION, new Registrar<BlockActions.ActionFactory>(BlockActions.ActionFactory.class));
this.registry.create(Registries.BIENTITY_ACTION, new Registrar<BiEntityActions.ActionFactory>(BiEntityActions.ActionFactory.class));
this.registry.create(Registries.TEXTURE_LOCATION, new Registrar<TextureLocation>(TextureLocation.class));
this.registry.create(Registries.PACK_SOURCE, new Registrar<DatapackRepository>(DatapackRepository.class));
this.registry.create(Registries.CHOOSING_PAGE, new Registrar<ChoosingPage>(ChoosingPage.class));

int avalibleJVMThreads = Runtime.getRuntime().availableProcessors() * 2;
int dynamic_thread_count = avalibleJVMThreads < 4 ? avalibleJVMThreads : Math.min(avalibleJVMThreads, OriginConfiguration.getConfiguration().getInt("max-loader-threads"));
loaderThreadPool = Executors.newFixedThreadPool(dynamic_thread_count, threadFactory);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
import java.util.function.Consumer;

public class Actions {
public static BiEntityActions bientityActions = new BiEntityActions();
public static BlockActions blockActions = new BlockActions();
public static EntityActions entityActions = new EntityActions();
public static ItemActions itemActions = new ItemActions();

public static HashMap<Entity, Boolean> resourceChangeTimeout = new HashMap<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public void register() {
}));
}

private void register(BiEntityActions.ActionFactory factory) {
public void register(BiEntityActions.ActionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.BIENTITY_ACTION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ public void run() {
}));
}

private void register(BlockActions.ActionFactory factory) {
public void register(BlockActions.ActionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.BLOCK_ACTION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@ public void run() {
}));
}

private void register(EntityActions.ActionFactory factory) {
public void register(EntityActions.ActionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.ENTITY_ACTION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public void register() {
}));
}

private void register(ItemActions.ActionFactory factory) {
public void register(ItemActions.ActionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.ITEM_ACTION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,22 @@
import java.util.Random;

public class ConditionExecutor {
public static BiEntityConditions biEntityCondition = new BiEntityConditions();
public static BiomeConditions biomeCondition = new BiomeConditions();
public static BlockConditions blockCondition = new BlockConditions();
public static DamageConditions damageCondition = new DamageConditions();
public static EntityConditions entityCondition = new EntityConditions();
public static FluidConditions fluidCondition = new FluidConditions();
public static ItemConditions itemCondition = new ItemConditions();
public static BiEntityConditions biEntityConditions = new BiEntityConditions();
public static BiomeConditions biomeConditions = new BiomeConditions();
public static BlockConditions blockConditions = new BlockConditions();
public static DamageConditions damageConditions = new DamageConditions();
public static EntityConditions entityConditions = new EntityConditions();
public static FluidConditions fluidConditions = new FluidConditions();
public static ItemConditions itemConditions = new ItemConditions();

public static void registerAll() {
biEntityCondition.registerConditions();
biomeCondition.registerConditions();
blockCondition.registerConditions();
damageCondition.registerConditions();
entityCondition.registerConditions();
fluidCondition.registerConditions();
itemCondition.registerConditions();
biEntityConditions.registerConditions();
biomeConditions.registerConditions();
blockConditions.registerConditions();
damageConditions.registerConditions();
entityConditions.registerConditions();
fluidConditions.registerConditions();
itemConditions.registerConditions();

ConditionTypes.ConditionFactory.addMetaConditions();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public void registerConditions() {
register(new ConditionFactory(GenesisMC.apoliIdentifier("equal"), (condition, pair) -> pair.first() == pair.second()));
}

private void register(ConditionFactory factory) {
public void register(ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.BIENTITY_CONDITION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ private net.minecraft.world.level.biome.Biome.Precipitation getPrecipitation(Fac
}
}

private void register(ConditionFactory factory) {
public void register(ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.BIOME_CONDITION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ public void registerConditions() {
register(new ConditionFactory(GenesisMC.apoliIdentifier("water_loggable"), (condition, block) -> block.getHandle().getBlockState(block.getPosition()).getBlock() instanceof LiquidBlockContainer));
}

private void register(ConditionFactory factory) {
public void register(ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.BLOCK_CONDITION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public void registerConditions() {
register(new ConditionFactory(GenesisMC.apoliIdentifier("unblockable"), (condition, event) -> GenesisMC.server.reloadableRegistries().get().registry(net.minecraft.core.registries.Registries.DAMAGE_TYPE).orElseThrow().wrapAsHolder(CraftDamageType.bukkitToMinecraft(event.getDamageSource().getDamageType())).is(DamageTypeTags.BYPASSES_SHIELD)));
}

private void register(ConditionFactory factory) {
public void register(ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.DAMAGE_CONDITION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -765,7 +765,7 @@ public void registerConditions() {
register(new ConditionFactory(GenesisMC.apoliIdentifier("in_thunderstorm"), (condition, entity) -> entity.isInRain() && entity.getWorld().isThundering()));
}

private void register(EntityConditions.ConditionFactory factory) {
public void register(EntityConditions.ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.ENTITY_CONDITION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void registerConditions() {
register(new ConditionFactory(GenesisMC.apoliIdentifier("fluid"), (condition, fluid) -> fluid.builtInRegistryHolder().key().location().equals(CraftNamespacedKey.toMinecraft(NamespacedKey.fromString(condition.getString("fluid"))))));
}

private void register(ConditionFactory factory) {
public void register(ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.FLUID_CONDITION).register(factory);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public void registerConditions() {
}));
}

private void register(ConditionFactory factory) {
public void register(ConditionFactory factory) {
GenesisMC.getPlugin().registry.retrieve(Registries.ITEM_CONDITION).register(factory);
}

Expand Down
Loading

0 comments on commit 73bf1ec

Please sign in to comment.