Skip to content

Instantly share code, notes, and snippets.

@SupaHam

SupaHam/code.kt Secret

Last active October 25, 2016 14:37
Show Gist options
  • Save SupaHam/4ab45ba6bae02db2c9c765d3a50b3597 to your computer and use it in GitHub Desktop.
Save SupaHam/4ab45ba6bae02db2c9c765d3a50b3597 to your computer and use it in GitHub Desktop.
package com.supaham.monopoly.bukkit
import com.blurengine.blur.internal.commons.bukkit.SingleSound
import com.blurengine.blur.internal.commons.utils.RandomUtils
import com.supaham.monopoly.bukkit.events.WalletBalanceChangeEvent
import com.supaham.monopoly.bukkit.menus.BankMenu
import org.bukkit.Effect
import org.bukkit.Particle
import org.bukkit.Sound
import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority
import org.bukkit.event.Listener
import org.bukkit.event.player.PlayerInteractEvent
class MonopolyListener(val board: BMonopolyBoard) : Listener {
val monopolyModule: MonopolyModule get() = board.monopolyModule
@EventHandler
fun onPlayerInteract(event: PlayerInteractEvent) {
board.getPlayer(event.player)?.let { monopolyPlayer ->
val heldItem = event.player.inventory.itemInMainHand
monopolyPlayer.inventorySetup.apply {
when (heldItem) {
this::isDiceItem -> {
println("dice")
board.turnManager.roll(monopolyPlayer)
monopolyPlayer.inventorySetup.removeDice()
monopolyModule.world.playEffect(event.player.location, Effect.ENDER_SIGNAL, 0)
SingleSound(Sound.ENTITY_ENDERMEN_TELEPORT, 2.0F, 0.8F + (RandomUtils.nextFloat() / 10))
.play(monopolyModule.players.map { it.player }, event.player.location)
}
this::isMoneyItem -> {
println("money")
event.player.world.spawnParticle(
Particle.VILLAGER_HAPPY,
event.player.location.add(0.0, event.player.eyeHeight + 0.2, 0.0),
heldItem.amount
)
}
this::isBankItem -> {
println("bank")
BankMenu(player).open(player.blurPlayer.player)
}
else -> println("NOPE ${heldItem.type} ${isBankItem(heldItem)}")
}
}
}
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
fun onWalletBalanceChange(event: WalletBalanceChangeEvent) {
event.monopolyPlayer.inventorySetup.updateWallet()
}
}
// MonopolyListener$onPlayerInteract$1$1$1.java
package com.supaham.monopoly.bukkit;
import com.supaham.monopoly.bukkit.MonopolyInventorySetup;
import kotlin.Metadata;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.FunctionReference;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Reflection;
import kotlin.reflect.KDeclarationContainer;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@Metadata(
mv = {1, 1, 2},
bv = {1, 0, 1},
k = 3,
d1 = {"\u0000\u000e\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\b\u0004"},
d2 = {"<anonymous>", "", "p1", "Lorg/bukkit/inventory/ItemStack;", "invoke"}
)
final class MonopolyListener$onPlayerInteract$1$1$1 extends FunctionReference implements Function1 {
// $FF: synthetic field
final MonopolyInventorySetup receiver$0;
// $FF: synthetic method
// $FF: bridge method
public Object invoke(Object var1) {
return Boolean.valueOf(this.invoke((ItemStack)var1));
}
public final boolean invoke(@NotNull ItemStack p1) {
Intrinsics.checkParameterIsNotNull(p1, "p1");
return this.receiver$0.isDiceItem(p1);
}
public final KDeclarationContainer getOwner() {
return Reflection.getOrCreateKotlinClass(MonopolyInventorySetup.class);
}
public final String getName() {
return "isDiceItem";
}
public final String getSignature() {
return "isDiceItem(Lorg/bukkit/inventory/ItemStack;)Z";
}
MonopolyListener$onPlayerInteract$1$1$1(MonopolyInventorySetup var1) {
super(1);
this.receiver$0 = var1;
}
}
// MonopolyListener$onPlayerInteract$1$1$4.java
package com.supaham.monopoly.bukkit;
import com.supaham.monopoly.bukkit.MonopolyInventorySetup;
import kotlin.Metadata;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.FunctionReference;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Reflection;
import kotlin.reflect.KDeclarationContainer;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@Metadata(
mv = {1, 1, 2},
bv = {1, 0, 1},
k = 3,
d1 = {"\u0000\u000e\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\b\u0004"},
d2 = {"<anonymous>", "", "p1", "Lorg/bukkit/inventory/ItemStack;", "invoke"}
)
final class MonopolyListener$onPlayerInteract$1$1$4 extends FunctionReference implements Function1 {
// $FF: synthetic field
final MonopolyInventorySetup receiver$0;
// $FF: synthetic method
// $FF: bridge method
public Object invoke(Object var1) {
return Boolean.valueOf(this.invoke((ItemStack)var1));
}
public final boolean invoke(@NotNull ItemStack p1) {
Intrinsics.checkParameterIsNotNull(p1, "p1");
return this.receiver$0.isBankItem(p1);
}
public final KDeclarationContainer getOwner() {
return Reflection.getOrCreateKotlinClass(MonopolyInventorySetup.class);
}
public final String getName() {
return "isBankItem";
}
public final String getSignature() {
return "isBankItem(Lorg/bukkit/inventory/ItemStack;)Z";
}
MonopolyListener$onPlayerInteract$1$1$4(MonopolyInventorySetup var1) {
super(1);
this.receiver$0 = var1;
}
}
// MonopolyListener.java
package com.supaham.monopoly.bukkit;
import com.blurengine.blur.internal.commons.bukkit.SingleSound;
import com.blurengine.blur.internal.commons.utils.RandomUtils;
import com.blurengine.blur.session.BlurPlayer;
import com.supaham.monopoly.bukkit.BMonopolyBoard;
import com.supaham.monopoly.bukkit.BMonopolyPlayer;
import com.supaham.monopoly.bukkit.MonopolyInventorySetup;
import com.supaham.monopoly.bukkit.MonopolyListener$onPlayerInteract$1$1$1;
import com.supaham.monopoly.bukkit.MonopolyListener$onPlayerInteract$1$1$3;
import com.supaham.monopoly.bukkit.MonopolyListener$onPlayerInteract$1$1$4;
import com.supaham.monopoly.bukkit.MonopolyModule;
import com.supaham.monopoly.bukkit.events.WalletBalanceChangeEvent;
import com.supaham.monopoly.bukkit.menus.BankMenu;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import kotlin.Metadata;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.internal.Intrinsics;
import org.bukkit.Effect;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@Metadata(
mv = {1, 1, 2},
bv = {1, 0, 1},
k = 1,
d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u000eH\u0007J\u0010\u0010\u000f\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0010H\u0007R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006R\u0011\u0010\u0007\u001a\u00020\b8F¢\u0006\u0006\u001a\u0004\b\t\u0010\n¨\u0006\u0011"},
d2 = {"Lcom/supaham/monopoly/bukkit/MonopolyListener;", "Lorg/bukkit/event/Listener;", "board", "Lcom/supaham/monopoly/bukkit/BMonopolyBoard;", "(Lcom/supaham/monopoly/bukkit/BMonopolyBoard;)V", "getBoard", "()Lcom/supaham/monopoly/bukkit/BMonopolyBoard;", "monopolyModule", "Lcom/supaham/monopoly/bukkit/MonopolyModule;", "getMonopolyModule", "()Lcom/supaham/monopoly/bukkit/MonopolyModule;", "onPlayerInteract", "", "event", "Lorg/bukkit/event/player/PlayerInteractEvent;", "onWalletBalanceChange", "Lcom/supaham/monopoly/bukkit/events/WalletBalanceChangeEvent;", "production sources for module monopoly-bukkit_main"}
)
public final class MonopolyListener implements Listener {
@NotNull
private final BMonopolyBoard board;
@NotNull
public final MonopolyModule getMonopolyModule() {
return this.board.getMonopolyModule();
}
@EventHandler
public final void onPlayerInteract(@NotNull PlayerInteractEvent event) {
Intrinsics.checkParameterIsNotNull(event, "event");
BMonopolyBoard var10000 = this.board;
Player var10001 = event.getPlayer();
Intrinsics.checkExpressionValueIsNotNull(var10001, "event.player");
BMonopolyPlayer var23 = var10000.getPlayer(var10001);
if(var23 != null) {
BMonopolyPlayer var2 = var23;
BMonopolyPlayer monopolyPlayer = (BMonopolyPlayer)var2;
ItemStack heldItem = event.getPlayer().getInventory().getItemInMainHand();
MonopolyInventorySetup var5 = monopolyPlayer.getInventorySetup();
MonopolyInventorySetup $receiver = (MonopolyInventorySetup)var5;
String $receiver$iv;
if(!Intrinsics.areEqual(heldItem, new MonopolyListener$onPlayerInteract$1$1$1($receiver))) {
if(Intrinsics.areEqual(heldItem, new MonopolyListener$onPlayerInteract$1$1$3($receiver))) {
$receiver$iv = "money";
System.out.println($receiver$iv);
event.getPlayer().getWorld().spawnParticle(Particle.VILLAGER_HAPPY, event.getPlayer().getLocation().add(0.0D, event.getPlayer().getEyeHeight() + 0.2D, 0.0D), heldItem.getAmount());
} else if(Intrinsics.areEqual(heldItem, new MonopolyListener$onPlayerInteract$1$1$4($receiver))) {
$receiver$iv = "bank";
System.out.println($receiver$iv);
BankMenu var25 = new BankMenu($receiver.getPlayer());
var10001 = $receiver.getPlayer().getBlurPlayer().getPlayer();
Intrinsics.checkExpressionValueIsNotNull(var10001, "player.blurPlayer.player");
var25.open(var10001);
} else {
StringBuilder var26 = (new StringBuilder()).append("NOPE ").append(heldItem.getType()).append(" ");
Intrinsics.checkExpressionValueIsNotNull(heldItem, "heldItem");
$receiver$iv = var26.append($receiver.isBankItem(heldItem)).toString();
System.out.println($receiver$iv);
}
} else {
$receiver$iv = "dice";
System.out.println($receiver$iv);
$receiver.getBoard().getTurnManager().roll(monopolyPlayer);
monopolyPlayer.getInventorySetup().removeDice();
this.getMonopolyModule().getWorld().playEffect(event.getPlayer().getLocation(), Effect.ENDER_SIGNAL, 0);
SingleSound var24 = new SingleSound(Sound.ENTITY_ENDERMEN_TELEPORT, 2.0F, 0.8F + RandomUtils.nextFloat() / (float)10);
Iterable $receiver$iv1 = (Iterable)this.getMonopolyModule().getPlayers();
SingleSound var9 = var24;
Collection destination$iv$iv = (Collection)(new ArrayList(CollectionsKt.collectionSizeOrDefault($receiver$iv1, 10)));
Iterator var12 = $receiver$iv1.iterator();
while(var12.hasNext()) {
Object item$iv$iv = var12.next();
BlurPlayer it = (BlurPlayer)item$iv$iv;
Player var16 = it.getPlayer();
destination$iv$iv.add(var16);
}
List var15 = (List)destination$iv$iv;
var9.play((Collection)var15, event.getPlayer().getLocation());
}
MonopolyInventorySetup var27 = (MonopolyInventorySetup)((MonopolyInventorySetup)var5);
}
}
@EventHandler(
priority = EventPriority.MONITOR,
ignoreCancelled = true
)
public final void onWalletBalanceChange(@NotNull WalletBalanceChangeEvent event) {
Intrinsics.checkParameterIsNotNull(event, "event");
event.getMonopolyPlayer().getInventorySetup().updateWallet();
}
@NotNull
public final BMonopolyBoard getBoard() {
return this.board;
}
public MonopolyListener(@NotNull BMonopolyBoard board) {
Intrinsics.checkParameterIsNotNull(board, "board");
super();
this.board = board;
}
}
// MonopolyListener$onPlayerInteract$1$1$3.java
package com.supaham.monopoly.bukkit;
import com.supaham.monopoly.bukkit.MonopolyInventorySetup;
import kotlin.Metadata;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.FunctionReference;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Reflection;
import kotlin.reflect.KDeclarationContainer;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@Metadata(
mv = {1, 1, 2},
bv = {1, 0, 1},
k = 3,
d1 = {"\u0000\u000e\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\b\u0004"},
d2 = {"<anonymous>", "", "p1", "Lorg/bukkit/inventory/ItemStack;", "invoke"}
)
final class MonopolyListener$onPlayerInteract$1$1$3 extends FunctionReference implements Function1 {
// $FF: synthetic field
final MonopolyInventorySetup receiver$0;
// $FF: synthetic method
// $FF: bridge method
public Object invoke(Object var1) {
return Boolean.valueOf(this.invoke((ItemStack)var1));
}
public final boolean invoke(@NotNull ItemStack p1) {
Intrinsics.checkParameterIsNotNull(p1, "p1");
return this.receiver$0.isMoneyItem(p1);
}
public final KDeclarationContainer getOwner() {
return Reflection.getOrCreateKotlinClass(MonopolyInventorySetup.class);
}
public final String getName() {
return "isMoneyItem";
}
public final String getSignature() {
return "isMoneyItem(Lorg/bukkit/inventory/ItemStack;)Z";
}
MonopolyListener$onPlayerInteract$1$1$3(MonopolyInventorySetup var1) {
super(1);
this.receiver$0 = var1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment