Skip to content

Commit

Permalink
remove debugging stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
mworzala committed Sep 14, 2022
1 parent 5c6fee6 commit b3fb1a9
Show file tree
Hide file tree
Showing 7 changed files with 163 additions and 146 deletions.
163 changes: 163 additions & 0 deletions modules/development/src/main/java/unnamed/mmo/server/dev/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
package unnamed.mmo.server.dev;

import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.mattworzala.debug.DebugMessage;
import com.mojang.serialization.JsonOps;
import net.minestom.server.MinecraftServer;
import net.minestom.server.command.builder.Command;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.GameMode;
import net.minestom.server.entity.Player;
import net.minestom.server.event.GlobalEventHandler;
import net.minestom.server.event.player.PlayerLoginEvent;
import net.minestom.server.event.player.PlayerSpawnEvent;
import net.minestom.server.extras.MojangAuth;
import net.minestom.server.instance.Instance;
import net.minestom.server.instance.InstanceManager;
import net.minestom.server.instance.block.Block;
import net.minestom.server.potion.Potion;
import net.minestom.server.potion.PotionEffect;
import net.minestom.server.world.DimensionType;
import unnamed.mmo.blocks.BlockInteracter;
import unnamed.mmo.blocks.ore.Ore;
import unnamed.mmo.chat.ChatManager;
import unnamed.mmo.chat.storage.ChatStorage;
import unnamed.mmo.command.BaseCommandRegister;
import unnamed.mmo.damage.DamageProcessor;
import unnamed.mmo.entity.UnnamedEntity;
import unnamed.mmo.entity.brain.task.Task;
import unnamed.mmo.item.Item;
import unnamed.mmo.item.ItemManager;
import unnamed.mmo.item.entity.OwnedItemEntity;
import unnamed.mmo.player.PlayerImpl;
import unnamed.mmo.quest.QuestFacet;
import unnamed.mmo.server.dev.tool.DebugToolManager;
import unnamed.mmo.server.instance.TickTrackingInstance;

import java.util.UUID;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.TimeUnit;

public class Main {

public static void main(String[] args) {
System.setProperty("minestom.terminal.disabled", "true");
// System.setProperty("minestom.viewable-packet", "false");

MinecraftServer server = MinecraftServer.init();

InstanceManager instanceManager = MinecraftServer.getInstanceManager();
Instance instance = new TickTrackingInstance(UUID.randomUUID(), DimensionType.OVERWORLD);
instanceManager.registerInstance(instance);
instance.setGenerator(unit -> unit.modifier().fillHeight(0, 40, Block.STONE));

//
GlobalEventHandler eventHandler = MinecraftServer.getGlobalEventHandler();
eventHandler.addListener(PlayerLoginEvent.class, event -> {
final Player player = event.getPlayer();
event.setSpawningInstance(instance);
player.setRespawnPoint(new Pos(0, 40, 0));
});

MojangAuth.init();
MinecraftServer.getConnectionManager().setPlayerProvider(PlayerImpl::new);

eventHandler.addListener(PlayerSpawnEvent.class, event -> {
final Player player = event.getPlayer();
player.setGameMode(GameMode.SURVIVAL);
player.setPermissionLevel(4);
player.setAllowFlying(true);

// Testing
event.getSpawnInstance().setBlock(5, 43, 5, Ore.fromNamespaceId("unnamed:gold_ore").asBlock());
event.getSpawnInstance().setBlock(4, 43, 5, Ore.fromNamespaceId("unnamed:diamond_ore").asBlock());
player.getInventory().addItemStack(Item.fromNamespaceId("unnamed:diamond_pickaxe").asItemStack());

//todo this needs to be done elsewhere
player.addEffect(new Potion(PotionEffect.MINING_FATIGUE, (byte) -1, Short.MAX_VALUE, (byte) 0x0));

//todo a command for this
player.getInventory().addItemStack(DebugToolManager.createTool("unnamed:hello"));


//todo test entity
// JsonElement json = JsonParser.parseString("""
// {
// "type": "unnamed:selector",
// "children": {
// "q.has_target": {
// "type": "unnamed:follow_target"
// },
// "": {
// "type": "unnamed:sequence",
// "children": [
// {
// "type": "unnamed:wander_in_region"
// },
// {
// "type": "unnamed:idle",
// "time": 5
// }
// ],
//
// "canInterrupt": true
// }
// }
// }""");
JsonElement json = JsonParser.parseString("""
{
"type": "unnamed:sequence",
"children": [
{
"type": "unnamed:wander_in_region"
},
{
"type": "unnamed:idle",
"time": 20
}
]
}""");
Task task = JsonOps.INSTANCE.withDecoder(Task.Spec.CODEC)
.apply(json).getOrThrow(false, System.err::println).getFirst().create();
UnnamedEntity entity = new UnnamedEntity(task);
entity.setInstance(instance, new Pos(0, 40, 0))
.thenAccept(unused -> System.out.println("Spawned"));
});

BaseCommandRegister.registerCommands();

Command c = new Command("clear");
c.setDefaultExecutor((sender, context) -> {
DebugMessage.builder().clear().build().sendTo(sender);
});
MinecraftServer.getCommandManager().register(c);

ChatStorage chatStorage = ChatStorage.noop();
ChatManager chatManager = new ChatManager(chatStorage);
chatManager.hook(MinecraftServer.process());

//todo properly implement a config system & use facets better
ItemManager itemManager = new ItemManager();
itemManager.hook(MinecraftServer.process());
OwnedItemEntity.Handler itemEntityHandler = new OwnedItemEntity.Handler();
itemEntityHandler.hook(MinecraftServer.process());

//todo stupid facet implementation
DebugToolManager debugToolManager = new DebugToolManager();
debugToolManager.hook(MinecraftServer.process());

QuestFacet questFacet = new QuestFacet();
questFacet.hook(MinecraftServer.process());

MinecraftServer.getSchedulerManager().buildShutdownTask(() ->
ForkJoinPool.commonPool().awaitQuiescence(10, TimeUnit.SECONDS));

BlockInteracter.registerEvents();
DamageProcessor.init();

server.start("0.0.0.0", 25565);

}

}
1 change: 0 additions & 1 deletion modules/entity/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ plugins {

dependencies {
implementation(project(":modules:common"))
implementation(files("libs/enodia-pf-1.0.1.jar"))
}
Binary file removed modules/entity/libs/enodia-pf-1.0.1.jar
Binary file not shown.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@

public interface Navigator {

static @NotNull Navigator enodia(@NotNull Entity entity) {
return new EnodiaNavigator(entity);
}

static @NotNull Navigator hydrazine(@NotNull Entity entity) {
return new HydrazineNavigator(entity);
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ public class TestUtil {

public static Stream<Arguments> navigators() {
return Stream.of(
// Arguments.of("enodia", (Function<Entity, Navigator>) EnodiaNavigator::new),
// Arguments.of("hydrazine", (Function<Entity, Navigator>) HydrazineNavigator::new),
// Arguments.of("custom", (Function<Entity, Navigator>) CustomNavigator::new),
Arguments.of("motion", (Function<Entity, Navigator>) MotionNavigator::new)
Expand Down

0 comments on commit b3fb1a9

Please sign in to comment.