Skip to content

Commit

Permalink
feat(forge20): update to latest version inline with forge16
Browse files Browse the repository at this point in the history
  • Loading branch information
danorris709 committed Apr 21, 2024
1 parent ad3b200 commit 2babf94
Show file tree
Hide file tree
Showing 13 changed files with 382 additions and 237 deletions.
14 changes: 6 additions & 8 deletions forge20/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ repositories {}
dependencies {
minecraft 'net.minecraftforge:forge:1.20.2-48.0.30'

implementation 'pixelmon:Pixelmon-1.20.2-9.2.4-server:9.2.4'
implementation 'pixelmon:Pixelmon-1.20.2-9.2.7-server:9.2.7'

implementation 'com.envyful.papi:api:2.0.5'

implementation group: 'org.spongepowered', name: 'configurate-yaml', version: '4.2.0-COMMENTS'

shadow group: 'com.envyful.api', name: 'commons', version: '5.5.2'
shadow (group: 'com.envyful.api', name: 'forge20', version: '5.5.2') {
shadow group: 'com.envyful.api', name: 'commons', version: '6.1.7'
shadow (group: 'com.envyful.api', name: 'forge20', version: '6.1.7') {
transitive = false;
}
shadow (group: 'com.envyful.api', name: 'reforged20', version: '5.5.2') {
shadow (group: 'com.envyful.api', name: 'reforged20', version: '6.1.7') {
transitive = false;
}
}
Expand All @@ -36,27 +36,25 @@ shadowJar {
setArchiveClassifier('')
setArchiveBaseName("${rootProject.name}-Forge")

relocate('org.apache.commons.jexl', 'com.envyful.better.poke.broadcaster.shade.jexl')
relocate('org.spongepowered.configurate', 'com.envyful.better.poke.broadcaster.shade.configurate')
relocate('org.yaml.snakeyaml', 'com.envyful.better.poke.broadcaster.shade.snakeyaml')
relocate('io.leangen.geantyref', 'com.envyful.better.poke.broadcaster.shade.geantyref')
relocate('com.zaxxer', 'com.envyful.better.poke.broadcaster.shade.hikari')
relocate('org.slf4j', 'com.envyful.better.poke.broadcaster.shade.slf4j')
relocate('com.envyful.api', 'com.envyful.better.poke.broadcaster.shade.envy.api')
relocate('org.bstats', 'com.envyful.better.poke.broadcaster.shade.bstats')
relocate('org.apache.logging', 'com.envyful.better.poke.broadcaster.shade.log4j')
relocate('io.netty', 'com.envyful.better.poke.broadcaster.shade.netty')
relocate('io.lettuce', 'com.envyful.better.poke.broadcaster.shade.lettuce')
relocate('com.cronutils', 'com.envyful.better.poke.broadcaster.shade.cronutils')
relocate('com.cronutils', 'com.envyful.better.poke.broadcaster.shade.cronutils')
relocate('com.sun.el', 'com.envyful.better.poke.broadcaster.shade.sun.el')
relocate('org.reactivestreams', 'com.envyful.better.poke.broadcaster.shade.reactivestreams')
relocate('reactor', 'com.envyful.better.poke.broadcaster.shade.reactor')
relocate('com.mysql', 'com.envyful.better.poke.broadcaster.shade.mysql')

exclude "com/google/**"
exclude "javax/**"
exclude "**/module-info.class"
exclude "**/*.properties"
exclude "**/*.xml"
exclude "META-INF/versions/9/**"
exclude "META-INF/native-image/**"
exclude "META-INF/services/**"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
import com.envyful.api.concurrency.UtilLogger;
import com.envyful.api.config.yaml.YamlConfigFactory;
import com.envyful.api.forge.command.ForgeCommandFactory;
import com.envyful.api.forge.command.parser.ForgeAnnotationCommandParser;
import com.envyful.api.forge.platform.ForgePlatformHandler;
import com.envyful.api.platform.PlatformProxy;
import com.envyful.better.poke.broadcaster.api.type.BroadcasterTypeRegistry;
import com.envyful.better.poke.broadcaster.command.PokeBroadcasterCommand;
import com.envyful.better.poke.broadcaster.config.BetterPokeBroadcasterConfig;
Expand All @@ -22,30 +23,32 @@ public class BetterPokeBroadcaster {

public static final String MOD_ID = "betterpokebroadcaster";

private static final Logger LOGGER = LogManager.getLogger(MOD_ID);

private static BetterPokeBroadcaster instance;

private ForgeCommandFactory commandFactory = new ForgeCommandFactory(ForgeAnnotationCommandParser::new, null);
private ForgeCommandFactory commandFactory = new ForgeCommandFactory();

private BetterPokeBroadcasterConfig config;
private Logger logger = LogManager.getLogger(MOD_ID);

public BetterPokeBroadcaster() {
UtilLogger.setLogger(logger);
PlatformProxy.setHandler(ForgePlatformHandler.getInstance());
UtilLogger.setLogger(LOGGER);
instance = this;
MinecraftForge.EVENT_BUS.register(this);
BroadcasterTypeRegistry.init();
}

@SubscribeEvent
public void onServerStart(ServerStartingEvent event) {
this.reloadConfig();
reloadConfig();
}

public void reloadConfig() {
public static void reloadConfig() {
try {
this.config = YamlConfigFactory.getInstance(BetterPokeBroadcasterConfig.class);
instance.config = YamlConfigFactory.getInstance(BetterPokeBroadcasterConfig.class);
} catch (IOException e) {
e.printStackTrace();
LOGGER.error("Error loading the config", e);
}
}

Expand All @@ -54,11 +57,11 @@ public void onCommandRegister(RegisterCommandsEvent event) {
this.commandFactory.registerCommand(event.getDispatcher(), this.commandFactory.parseCommand(new PokeBroadcasterCommand()));
}

public static BetterPokeBroadcaster getInstance() {
return instance;
public static BetterPokeBroadcasterConfig getConfig() {
return instance.config;
}

public BetterPokeBroadcasterConfig getConfig() {
return this.config;
public static Logger getLogger() {
return LOGGER;
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.envyful.better.poke.broadcaster.api.type;

import com.envyful.api.text.Placeholder;
import com.pixelmonmod.pixelmon.entities.pixelmon.PixelmonEntity;
import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.eventbus.api.Event;

public interface BroadcasterType<A extends Event> {
public interface BroadcasterType {

String id();

Expand All @@ -14,6 +15,6 @@ public interface BroadcasterType<A extends Event> {

ServerPlayer getNearestPlayer(Event e, PixelmonEntity entity, double range);

String translateMessage(Event e, String line, PixelmonEntity pixelmon, ServerPlayer nearestPlayer);
Placeholder asPlaceholder(Event e, PixelmonEntity pixelmon, ServerPlayer nearestPlayer);

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,26 @@
import com.envyful.better.poke.broadcaster.api.type.impl.type.FleeBroadcasterType;
import com.envyful.better.poke.broadcaster.api.type.impl.type.SpawnBroadcasterType;
import com.google.common.collect.Maps;
import com.pixelmonmod.pixelmon.Pixelmon;
import net.minecraftforge.common.MinecraftForge;

import java.util.Locale;
import java.util.Map;

public class BroadcasterTypeRegistry {

private static final Map<String, BroadcasterType<?>> TYPES = Maps.newHashMap();
private static final Map<String, BroadcasterType> TYPES = Maps.newHashMap();

public static void init() {

}

static {
register(new SpawnBroadcasterType());
register(new CaptureBroadcasterType());
register(new DefeatBroadcasterType());
register(new FleeBroadcasterType());
}

public static void register(BroadcasterType<?> type) {
TYPES.put(type.id().toLowerCase(), type);

MinecraftForge.EVENT_BUS.register(type);
Pixelmon.EVENT_BUS.register(type);
public static void register(BroadcasterType type) {
TYPES.put(type.id().toLowerCase(Locale.ROOT), type);
}

public static BroadcasterType<?> get(String id) {
return TYPES.get(id.toLowerCase());
public static BroadcasterType get(String id) {
return TYPES.get(id.toLowerCase(Locale.ROOT));
}

}
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
package com.envyful.better.poke.broadcaster.api.type.impl;

import com.envyful.api.text.Placeholder;
import com.envyful.better.poke.broadcaster.api.type.BroadcasterType;
import com.pixelmonmod.pixelmon.entities.pixelmon.PixelmonEntity;
import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.eventbus.api.IEventBus;

public abstract class AbstractBroadcasterType<A extends Event> implements BroadcasterType<A> {
public abstract class AbstractBroadcasterType<A extends Event> implements BroadcasterType {

protected final String id;
protected final Class<A> clazz;

public AbstractBroadcasterType(String id, Class<A> clazz) {
protected AbstractBroadcasterType(String id, Class<A> clazz, IEventBus... eventBus) {
this.id = id;
this.clazz = clazz;

for (IEventBus bus : eventBus) {
bus.register(this);
}
}

@Override
Expand All @@ -21,12 +27,13 @@ public String id() {
}

@Override
@SuppressWarnings("unchecked")
public boolean isCorrectEvent(Event e) {
if (!e.getClass().isAssignableFrom(this.clazz)) {
return false;
}

return this.isEvent(this.clazz.cast(e));
return this.isEvent((A) e);
}

protected abstract boolean isEvent(A a);
Expand All @@ -38,16 +45,17 @@ public PixelmonEntity getPixelmon(Event e) {

protected abstract PixelmonEntity getEntity(A a);

@Override
public String translateMessage(Event e, String line, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return this.translateEventMessage(this.clazz.cast(e), line, pixelmon, nearestPlayer);
@SuppressWarnings("unchecked")
public Placeholder asPlaceholder(Event e, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return this.asEventPlaceholder((A) e, pixelmon, nearestPlayer);
}

protected abstract String translateEventMessage(A a, String line, PixelmonEntity pixelmon, ServerPlayer nearestPlayer);
protected abstract Placeholder asEventPlaceholder(A a, PixelmonEntity pixelmon, ServerPlayer nearestPlayer);

@Override
@SuppressWarnings("unchecked")
public ServerPlayer getNearestPlayer(Event event, PixelmonEntity entity, double range) {
return this.findNearestPlayer(this.clazz.cast(event), entity, range);
return this.findNearestPlayer((A) event, entity, range);
}

protected abstract ServerPlayer findNearestPlayer(A a, PixelmonEntity entity, double range);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

import com.envyful.api.forge.world.UtilWorld;
import com.envyful.api.reforged.pixelmon.sprite.UtilSprite;
import com.envyful.api.text.Placeholder;
import com.envyful.better.poke.broadcaster.BetterPokeBroadcaster;
import com.envyful.better.poke.broadcaster.api.type.impl.AbstractBroadcasterType;
import com.envyful.better.poke.broadcaster.api.util.BroadcasterUtil;
import com.pixelmonmod.pixelmon.Pixelmon;
import com.pixelmonmod.pixelmon.api.events.CaptureEvent;
import com.pixelmonmod.pixelmon.api.util.helpers.BiomeHelper;
import com.pixelmonmod.pixelmon.entities.pixelmon.PixelmonEntity;
Expand All @@ -14,7 +16,7 @@
public class CaptureBroadcasterType extends AbstractBroadcasterType<CaptureEvent.SuccessfulCapture> {

public CaptureBroadcasterType() {
super("capture", CaptureEvent.SuccessfulCapture.class);
super("capture", CaptureEvent.SuccessfulCapture.class, Pixelmon.EVENT_BUS);
}

@Override
Expand All @@ -28,14 +30,15 @@ protected PixelmonEntity getEntity(CaptureEvent.SuccessfulCapture event) {
}

@Override
protected String translateEventMessage(CaptureEvent.SuccessfulCapture event, String line, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return UtilSprite.replacePokemonPlaceholders(line.replace("%player%", nearestPlayer.getName().getString())
.replace("%x%", pixelmon.getX() + "")
.replace("%y%", pixelmon.getY() + "")
.replace("%z%", pixelmon.getZ() + "")
.replace("%world%", UtilWorld.getName(pixelmon.level()) + "")
.replace("%pokemon%", pixelmon.getPokemonName())
.replace("%biome%", BiomeHelper.getLocalizedBiomeName(pixelmon.level().getBiome(pixelmon.blockPosition())).getString()), pixelmon.getPokemon(), BetterPokeBroadcaster.getInstance().getConfig().getPlaceholderFormat());
protected Placeholder asEventPlaceholder(CaptureEvent.SuccessfulCapture event, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return Placeholder.simple(line -> UtilSprite.replacePokemonPlaceholders(line.replace("%player%", nearestPlayer.getName().getString())
.replace("%x%", pixelmon.getX() + "")
.replace("%y%", pixelmon.getY() + "")
.replace("%z%", pixelmon.getZ() + "")
.replace("%world%", UtilWorld.getName(pixelmon.level()))
.replace("%pokemon%", pixelmon.getPokemonName())
.replace("%biome%", BiomeHelper.getLocalizedBiomeName(pixelmon.level().getBiome(pixelmon.blockPosition())).getString()), pixelmon.getPokemon(),
BetterPokeBroadcaster.getConfig().getPlaceholderFormat()));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

import com.envyful.api.forge.world.UtilWorld;
import com.envyful.api.reforged.pixelmon.sprite.UtilSprite;
import com.envyful.api.text.Placeholder;
import com.envyful.better.poke.broadcaster.BetterPokeBroadcaster;
import com.envyful.better.poke.broadcaster.api.type.impl.AbstractBroadcasterType;
import com.envyful.better.poke.broadcaster.api.util.BroadcasterUtil;
import com.pixelmonmod.pixelmon.Pixelmon;
import com.pixelmonmod.pixelmon.api.battles.BattleEndCause;
import com.pixelmonmod.pixelmon.api.battles.BattleResults;
import com.pixelmonmod.pixelmon.api.events.battles.BattleEndEvent;
Expand All @@ -22,7 +24,7 @@
public class DefeatBroadcasterType extends AbstractBroadcasterType<BattleEndEvent> {

public DefeatBroadcasterType() {
super("defeat", BattleEndEvent.class);
super("defeat", BattleEndEvent.class, Pixelmon.EVENT_BUS);
}

@Override
Expand Down Expand Up @@ -68,14 +70,14 @@ protected PixelmonEntity getEntity(BattleEndEvent event) {
}

@Override
protected String translateEventMessage(BattleEndEvent event, String line, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return UtilSprite.replacePokemonPlaceholders(line.replace("%nearest_name%", nearestPlayer == null ? "None" : nearestPlayer.getName().getString())
protected Placeholder asEventPlaceholder(BattleEndEvent battleEndEvent, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return Placeholder.simple(line -> UtilSprite.replacePokemonPlaceholders(line.replace("%nearest_name%", nearestPlayer == null ? "None" : nearestPlayer.getName().getString())
.replace("%x%", pixelmon.getX() + "")
.replace("%y%", pixelmon.getY() + "")
.replace("%z%", pixelmon.getZ() + "")
.replace("%world%", UtilWorld.getName(pixelmon.level()) + "")
.replace("%world%", UtilWorld.getName(pixelmon.level()))
.replace("%pokemon%", pixelmon.getPokemonName())
.replace("%biome%", BiomeHelper.getLocalizedBiomeName(pixelmon.level().getBiome(pixelmon.blockPosition())).getString()), pixelmon.getPokemon(), BetterPokeBroadcaster.getInstance().getConfig().getPlaceholderFormat());
.replace("%biome%", BiomeHelper.getLocalizedBiomeName(pixelmon.level().getBiome(pixelmon.blockPosition())).getString()), pixelmon.getPokemon(), BetterPokeBroadcaster.getConfig().getPlaceholderFormat()));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

import com.envyful.api.forge.world.UtilWorld;
import com.envyful.api.reforged.pixelmon.sprite.UtilSprite;
import com.envyful.api.text.Placeholder;
import com.envyful.better.poke.broadcaster.BetterPokeBroadcaster;
import com.envyful.better.poke.broadcaster.api.type.impl.AbstractBroadcasterType;
import com.envyful.better.poke.broadcaster.api.util.BroadcasterUtil;
import com.pixelmonmod.pixelmon.Pixelmon;
import com.pixelmonmod.pixelmon.api.battles.BattleEndCause;
import com.pixelmonmod.pixelmon.api.battles.BattleResults;
import com.pixelmonmod.pixelmon.api.events.battles.BattleEndEvent;
Expand All @@ -22,7 +24,7 @@
public class FleeBroadcasterType extends AbstractBroadcasterType<BattleEndEvent> {

public FleeBroadcasterType() {
super("flee", BattleEndEvent.class);
super("flee", BattleEndEvent.class, Pixelmon.EVENT_BUS);
}

@Override
Expand Down Expand Up @@ -64,14 +66,14 @@ protected PixelmonEntity getEntity(BattleEndEvent event) {
}

@Override
protected String translateEventMessage(BattleEndEvent event, String line, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return UtilSprite.replacePokemonPlaceholders(line.replace("%nearest_name%", nearestPlayer == null ? "None" : nearestPlayer.getName().getString())
protected Placeholder asEventPlaceholder(BattleEndEvent event, PixelmonEntity pixelmon, ServerPlayer nearestPlayer) {
return Placeholder.simple(line -> UtilSprite.replacePokemonPlaceholders(line.replace("%nearest_name%", nearestPlayer == null ? "None" : nearestPlayer.getName().getString())
.replace("%x%", pixelmon.getX() + "")
.replace("%y%", pixelmon.getY() + "")
.replace("%z%", pixelmon.getZ() + "")
.replace("%world%", UtilWorld.getName(pixelmon.level()) + "")
.replace("%world%", UtilWorld.getName(pixelmon.level()))
.replace("%pokemon%", pixelmon.getPokemonName())
.replace("%biome%", BiomeHelper.getLocalizedBiomeName(pixelmon.level().getBiome(pixelmon.blockPosition())).getString()), pixelmon.getPokemon(), BetterPokeBroadcaster.getInstance().getConfig().getPlaceholderFormat());
.replace("%biome%", BiomeHelper.getLocalizedBiomeName(pixelmon.level().getBiome(pixelmon.blockPosition())).getString()), pixelmon.getPokemon(), BetterPokeBroadcaster.getConfig().getPlaceholderFormat()));
}

@Override
Expand Down
Loading

0 comments on commit 2babf94

Please sign in to comment.