Skip to content

Instantly share code, notes, and snippets.

public void onChestDrops(DropItemEvent.Destruct event) {
Optional<BlockSnapshot> blockSnapshot = event.getCause().first(BlockSnapshot.class);
if(blockSnapshot.isPresent())
if(blockSnapshot.get().getState().getType() == BlockTypes.CHEST)
event.setCancelled(true);
}
}
@Listener
public void onChestBreak(ChangeBlockEvent.Break event) {
event.getTransactions().stream().filter(e -> e.getOriginal().getState().getType().equals(BlockTypes.CHEST)).forEach(chest -> {
Entity item = event.getTargetWorld().createEntity(EntityTypes.ITEM, chest.getOriginal().getPosition()).get();
ItemStackSnapshot itemStack = ItemStack.builder().fromBlockSnapshot(chest.getOriginal()).build().createSnapshot();
item.offer(Keys.REPRESENTED_ITEM, itemStack);
event.getTargetWorld().spawnEntity(item, Cause.source(EntitySpawnCause.builder().entity(item).type(SpawnTypes.PLUGIN).build()).build());
@Listener
public void onChestBreak(ChangeBlockEvent.Break event) {
event.getTransactions().stream().filter(e -> e.getFinal().getState().getType().equals(BlockTypes.CHEST)).map(i-> i.getFinal().withContainer(i.toContainer())).forEach(chest -> {
Extent extent = chest.getLocation().get().getExtent();
Entity item = event.getTargetWorld().createEntity(EntityTypes.ITEM, chest.getPosition()).get();
ItemStackSnapshot itemStack = ItemStack.builder().fromBlockSnapshot(chest).build().createSnapshot();
item.offer(Keys.REPRESENTED_ITEM, itemStack);
@Listener
public void onChestBreak(ChangeBlockEvent.Break event) {
event.filter(e -> !e.getTileEntity().filter(tile -> tile.equals(TileEntityTypes.CHEST)).isPresent()).forEach(chest -> {
Extent extent = chest.getFinal().getLocation().get().getExtent();
Entity item = event.getTargetWorld().createEntity(EntityTypes.ITEM, chest.getOriginal().getPosition()).get();
ItemStackSnapshot itemStack = ItemStack.builder().fromBlockSnapshot(chest.getOriginal()).build().createSnapshot();
item.offer(Keys.REPRESENTED_ITEM, itemStack);
private static Text text = Text.builder().color(TextColors.GRAY).append(Text.of("Please reconsider your usage of the All Caps Rage.")).build();
public void onPlayerChat(MessageChannelEvent.Chat event) {
Optional<Player> player = event.getCause().first(Player.class);
if(player.isPresent()) {
Stream<Character> stream = event.getRawMessage().toPlain().chars().mapToObj(i -> (char)i);
if(stream.filter(c -> Character.isUpperCase(c)).count()/stream.count() > 0.5) {
player.get().sendMessage(text);
@Listener
public void onChestBreak(ChangeBlockEvent.Break event) {
event.filter(e -> !e.getTileEntity().filter(tile -> tile.equals(TileEntityTypes.CHEST)).isPresent()).forEach(chest -> {
Extent extent = chest.getOriginal().getLocation().get().getExtent();
Entity item = event.getTargetWorld().createEntity(EntityTypes.ITEM, chest.getOriginal().getPosition()).get();
ItemStackSnapshot itemStack = ItemStack.builder().fromBlockSnapshot(chest.getOriginal()).build().createSnapshot();
item.offer(Keys.REPRESENTED_ITEM, itemStack);
if(event.filterEntities(entity -> {
if (entity.get(Keys.HORSE_VARIANT).isPresent())
return entity.get(Keys.HORSE_VARIANT).filter(HorseVariants.SKELETON_HORSE::equals).isPresent();
else
return false;
});
"C:\Program Files\Java\jdk1.8.0_60\bin\java" -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 15.0.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_60\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext\zipfs
import org.spongepowered.api.Sponge;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.cause.Cause;
import org.spongepowered.api.event.network.ClientConnectionEvent;
import org.spongepowered.api.event.service.ChangeServiceProviderEvent;
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.scoreboard.Scoreboard;
import org.spongepowered.api.scoreboard.critieria.Criteria;
import org.spongepowered.api.scoreboard.displayslot.DisplaySlots;
import org.spongepowered.api.scoreboard.objective.Objective;
[22:18:10] [Netty Server IO #2/INFO] [FML]: Client attempting to join with 6 mods : sponge@$version,skyla@1.0,economylite@2.2.5,FML@8.0.99.99,Forge@12.18.1.2052,mcp@9.19
[22:18:10] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
[22:18:10] [Server thread/INFO]: Waterpicker[/127.0.0.1:55380] logged in with entity id 300 in world(0) at (-23.188349606976292, 80.0, 200.50581078383945)
[22:18:10] [Server thread/ERROR] [Sponge]: Could not pass ClientConnectionEvent$Join$Impl to org.spongepowered.mod.plugin.SpongeModPluginContainer@763b3d16
java.lang.NullPointerException
at Skyla.onServerStart(Skyla.java:35) ~[Skyla.class:?]
at org.spongepowered.common.event.listener.JoinListener_Skyla_onServerStart2.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:?]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:349) [SpongeModEventManager.class:?]
at org.s