Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 21.79 KB | None | 0 0
  1.  
  2.    
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Random;
  6.  
  7. public class SoundLogic{
  8.  
  9.     static short status;
  10.     static boolean currentStatus;
  11.     static List<String> whatIsPlaying = new ArrayList<String>();
  12.     static Random random = new Random();
  13.     static String season;
  14.    
  15.     public static void ambientSounds() {
  16.  
  17.         if (currentStatus) {
  18.             if (status == 0) {
  19.                 seasonAmbienceEnd();
  20.             } else {
  21.                 caveAmbience();
  22.             }
  23.         } else {
  24.             if (status == 1) {
  25.                 if (getCurrentTick() < 12000) {
  26.                     seasonDayCycleAmbienceStartFromSilence();
  27.                 } else {
  28.                     seasonNightCycleAmbienceStartFromSilence();
  29.                 }
  30.             } else {
  31.                 if (getCurrentTick() < 12000) {
  32.                     seasonDayCycleAmbienceMid();
  33.                 } else {
  34.                     seasonNightCycleAmbienceMid();
  35.                 }
  36.             }
  37.         }
  38.     }
  39.    
  40.     static void seasonDayCycleAmbienceMid() {
  41.  
  42.         seasonDayCycleAmbienceStartFromSilence();
  43.  
  44.         String season = getSeason();
  45.         int size = whatIsPlaying.size();
  46.  
  47.         switch (season) {
  48.         case "spring":
  49.  
  50.             for (int i = 0; i <= size; i++) {
  51.  
  52.                 switch (whatIsPlaying.get(i)) {
  53.  
  54.                 case "S_birds":
  55.                      
  56.                     play("M_birds", "E_birds", 600);
  57.                     break;
  58.                    
  59.                 case "M_birds":
  60.                    
  61.                     play("M_birds", "E_birds", 500);
  62.                     break;
  63.                    
  64.                 case "S_birds_2":
  65.                      
  66.                     play("M_birds_2", "E_birds_2", 600);
  67.                     break;
  68.                    
  69.                 case "M_birds_2":
  70.                    
  71.                     play("M_birds_2", "E_birds_2", 500);
  72.                     break;
  73.                    
  74.                 case "S_leaf_breeze_warm":
  75.                      
  76.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 800);
  77.                     break;
  78.                    
  79.                 case "M_leaf_breeze_warm":
  80.                    
  81.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 700);
  82.                     break;
  83.                    
  84.                 case "S_calm_birds_insects":
  85.                      
  86.                     play("M_calm_birds_insects", "E_calm_birds_insects", 800);
  87.                     break;
  88.                    
  89.                 case "M_calm_birds_insects":
  90.                    
  91.                     play("M_calm_birds_insects", "E_calm_birds_insects", 700);
  92.                     break;
  93.                    
  94.                 case "S_calm_forest":
  95.                      
  96.                     play("M_calm_forest", "E_calm_forest", 800);
  97.                     break;
  98.                    
  99.                 case "M_calm_forest":
  100.                    
  101.                     play("M_calm_forest", "E_calm_forest", 700);
  102.                     break;
  103.                    
  104.                    
  105.                    
  106.                 default:
  107.                     playEndSound(whatIsPlaying.get(i));
  108.                 }
  109.             }
  110.             break;
  111.         case "summer":
  112.             for (int i = 0; i <= size; i++) {
  113.                 switch (whatIsPlaying.get(i)) {
  114.                    
  115.                 case "S_leaf_breeze_warm":
  116.                      
  117.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 800);
  118.                     break;
  119.                    
  120.                 case "M_leaf_breeze_warm":
  121.                    
  122.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 700);
  123.                     break;
  124.                    
  125.                 case "S_insect_leaf_breeze_warm":
  126.                      
  127.                     play("M_insect_leaf_breeze_warm", "E_insect_leaf_breeze_warm", 800);
  128.                     break;
  129.                    
  130.                 case "M_insect_leaf_breeze_warm":
  131.                    
  132.                     play("M_insect_leaf_breeze_warm", "E_insect_leaf_breeze_warm", 700);
  133.                     break;
  134.                    
  135.                 case "S_calm_forest":
  136.                      
  137.                     play("M_calm_forest", "E_calm_forest", 800);
  138.                     break;
  139.                    
  140.                 case "M_calm_forest":
  141.                    
  142.                     play("M_calm_forest", "E_calm_forest", 700);
  143.                     break;
  144.                    
  145.                 case "S_birds_2":
  146.                      
  147.                     play("M_birds_2", "E_birds_2", 600);
  148.                     break;
  149.                    
  150.                 case "M_birds_2":
  151.                    
  152.                     play("M_birds_2", "E_birds_2", 500);
  153.                     break;
  154.                    
  155.                 default:
  156.                     playEndSound(whatIsPlaying.get(i));
  157.                 }
  158.             }
  159.             break;
  160.         case "fall":
  161.             for (int i = 0; i <= size; i++) {
  162.                 switch (whatIsPlaying.get(i)) {
  163.                 case "S_calm_forest":
  164.                      
  165.                     play("M_calm_forest", "E_calm_forest", 800);
  166.                     break;
  167.                    
  168.                 case "M_calm_forest":
  169.                    
  170.                     play("M_calm_forest", "E_calm_forest", 700);
  171.                     break;
  172.                    
  173.                 case "S_calm_birds_insects":
  174.                      
  175.                     play("M_calm_birds_insects", "E_calm_birds_insects", 600);
  176.                     break;
  177.                    
  178.                 case "M_calm_birds_insects":
  179.                    
  180.                     play("M_calm_birds_insects", "E_calm_birds_insects", 500);
  181.                     break;
  182.                    
  183.                 case "S_calm_cold_wind":
  184.                      
  185.                     play("M_calm_cold_wind", "E_calm_cold_wind", 800);
  186.                     break;
  187.                    
  188.                 case "M_calm_cold_wind":
  189.                    
  190.                     play("M_calm_cold_wind", "E_calm_cold_wind", 700);
  191.                     break;
  192.                    
  193.                    
  194.                 default:
  195.                     playEndSound(whatIsPlaying.get(i));
  196.                 }
  197.             }
  198.             break;
  199.         case "winter":
  200.             for (int i = 0; i <= size; i++) {
  201.                 switch (whatIsPlaying.get(i)) {
  202.                    
  203.                 case "S_calm_forest":
  204.                      
  205.                     play("M_calm_forest", "E_calm_forest", 800);
  206.                     break;
  207.                    
  208.                 case "M_calm_forest":
  209.                    
  210.                     play("M_calm_forest", "E_calm_forest", 700);
  211.                     break;
  212.                    
  213.                 case "S_calm_cold_wind":
  214.                      
  215.                     play("M_calm_cold_wind", "E_calm_cold_wind", 800);
  216.                     break;
  217.                    
  218.                 case "M_calm_cold_wind":
  219.                    
  220.                     play("M_calm_cold_wind", "E_calm_cold_wind", 700);
  221.                     break;
  222.                    
  223.                 case "S_cold_wind":
  224.                      
  225.                     play("M_cold_wind", "E_cold_wind", 800);
  226.                     break;
  227.                    
  228.                 case "M_cold_wind":
  229.                    
  230.                     play("M_cold_wind", "E_cold_wind", 700);
  231.                     break;
  232.                    
  233.                 case "S_cold_wind_2":
  234.                      
  235.                     play("M_cold_wind_2", "E_cold_wind_2", 800);
  236.                     break;
  237.                    
  238.                 case "M_cold_wind_2":
  239.                    
  240.                     play("M_cold_wind_2", "E_cold_wind_2", 700);
  241.                     break;
  242.                    
  243.                 default:
  244.                     playEndSound(whatIsPlaying.get(i));
  245.                 }
  246.             }
  247.             break;
  248.         }
  249.         clearlast(size);
  250.         status = 0;
  251.     }
  252.  
  253.     static void seasonNightCycleAmbienceMid() {
  254.         seasonNightCycleAmbienceStartFromSilence();
  255.         String season = getSeason();
  256.         int size = whatIsPlaying.size();
  257.         switch (season) {
  258.         case "spring":
  259.  
  260.             for (int i = 0; i <= size; i++) {
  261.  
  262.                 switch (whatIsPlaying.get(i)) {
  263.  
  264.                    
  265.                
  266.                    
  267.                 case "S_leaf_breeze_warm":
  268.                      
  269.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 800);
  270.                     break;
  271.                    
  272.                 case "M_leaf_breeze_warm":
  273.                    
  274.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 700);
  275.                     break;
  276.                    
  277.                 case "S_calm_birds_insects":
  278.                      
  279.                     play("M_calm_birds_insects", "E_calm_birds_insects", 600);
  280.                     break;
  281.                    
  282.                 case "M_calm_birds_insects":
  283.                    
  284.                     play("M_calm_birds_insects", "E_calm_birds_insects", 500);
  285.                     break;
  286.                    
  287.                 case "S_calm_forest":
  288.                      
  289.                     play("M_calm_forest", "E_calm_forest", 600);
  290.                     break;
  291.                    
  292.                 case "M_calm_forest":
  293.                    
  294.                     play("M_calm_forest", "E_calm_forest", 500);
  295.                     break;
  296.                    
  297.                 case "S_cricket":
  298.                      
  299.                     play("M_cricket", "E_cricket", 600);
  300.                     break;
  301.                    
  302.                 case "M_cricket":
  303.                    
  304.                     play("M_cricket", "E_cricket", 500);
  305.                     break;
  306.                    
  307.                 default:
  308.                     playEndSound(whatIsPlaying.get(i));
  309.                 }
  310.             }
  311.             break;
  312.         case "summer":
  313.  
  314.             for (int i = 0; i <= size; i++) {
  315.  
  316.                 switch (whatIsPlaying.get(i)) {
  317.                    
  318.                 case "S_leaf_breeze_warm":
  319.                      
  320.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 800);
  321.                     break;
  322.                    
  323.                 case "M_leaf_breeze_warm":
  324.                    
  325.                     play("M_leaf_breeze_warm", "E_leaf_breeze_warm", 700);
  326.                     break;
  327.                    
  328.                 case "S_calm_birds_insects":
  329.                      
  330.                     play("M_calm_birds_insects", "E_calm_birds_insects", 500);
  331.                     break;
  332.                    
  333.                 case "M_calm_birds_insects":
  334.                    
  335.                     play("M_calm_birds_insects", "E_calm_birds_insects", 500);
  336.                     break;
  337.                    
  338.                 case "S_calm_forest":
  339.                      
  340.                     play("M_calm_forest", "E_calm_forest", 800);
  341.                     break;
  342.                    
  343.                 case "M_calm_forest":
  344.                    
  345.                     play("M_calm_forest", "E_calm_forest", 700);
  346.                     break;
  347.                    
  348.                 case "S_cricket":
  349.                      
  350.                     play("M_cricket", "E_cricket", 600);
  351.                     break;
  352.                    
  353.                 case "M_cricket":
  354.                    
  355.                     play("M_cricket", "E_cricket", 500);
  356.                     break;
  357.                    
  358.                 default:
  359.                     playEndSound(whatIsPlaying.get(i));
  360.                 }
  361.             }
  362.             break;
  363.         case "fall":
  364.  
  365.             for (int i = 0; i <= size; i++) {
  366.                 switch (whatIsPlaying.get(i)) {
  367.                    
  368.                 case "S_calm_forest":
  369.                      
  370.                     play("M_calm_forest", "E_calm_forest", 800);
  371.                     break;
  372.                    
  373.                 case "M_calm_forest":
  374.                    
  375.                     play("M_calm_forest", "E_calm_forest", 700);
  376.                     break;
  377.                    
  378.                 case "S_calm_cold_wind":
  379.                      
  380.                     play("M_calm_cold_wind", "E_calm_cold_wind", 500);
  381.                     break;
  382.                    
  383.                 case "M_calm_cold_wind":
  384.                    
  385.                     play("M_calm_cold_wind", "E_calm_cold_wind", 500);
  386.                     break;
  387.                    
  388.                 case "S_cold_wind":
  389.                      
  390.                     play("M_cold_wind", "E_cold_wind", 500);
  391.                     break;
  392.                    
  393.                 case "M_cold_wind":
  394.                    
  395.                     play("M_cold_wind", "E_cold_wind", 500);
  396.                     break;
  397.                    
  398.                 default:
  399.                     playEndSound(whatIsPlaying.get(i));
  400.                 }
  401.             }
  402.             break;
  403.         case "winter":
  404.  
  405.             for (int i = 0; i <= size; i++) {
  406.  
  407.                 switch (whatIsPlaying.get(i)) {
  408.                    
  409.                 case "S_calm_cold_wind":
  410.                      
  411.                     play("M_calm_cold_wind", "E_calm_cold_wind", 500);
  412.                     break;
  413.                    
  414.                 case "M_calm_cold_wind":
  415.                    
  416.                     play("M_calm_cold_wind", "E_calm_cold_wind", 500);
  417.                     break;
  418.                    
  419.                 case "S_cold_wind":
  420.                      
  421.                     play("M_cold_wind", "E_cold_wind", 500);
  422.                     break;
  423.                    
  424.                 case "M_cold_wind":
  425.                    
  426.                     play("M_cold_wind", "E_cold_wind", 500);
  427.                     break;
  428.                    
  429.                 case "S_cold_wind_2":
  430.                      
  431.                     play("M_cold_wind_2", "E_cold_wind_2", 500);
  432.                     break;
  433.                    
  434.                 case "M_cold_wind_2":
  435.                    
  436.                     play("M_cold_wind_2", "E_cold_wind_2", 500);
  437.                     break;
  438.                    
  439.                 default:
  440.                     playEndSound(whatIsPlaying.get(i));
  441.                 }
  442.             }
  443.             break;
  444.         }
  445.         clearlast(size);
  446.         status = 0;
  447.     }
  448.  
  449.     static void seasonDayCycleAmbienceStartFromSilence() {
  450.         String season = getSeason();
  451.  
  452.         switch (season) {
  453.         case "spring":
  454.            
  455.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_birds"))) {
  456.                 play("S_birds", 300);
  457.             }
  458.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_birds_2"))) {
  459.                 play("S_birds_2", 300);
  460.             }
  461.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_leaf_breeze_warm"))) {
  462.                 play("S_leaf_breeze_warm", 300);
  463.             }
  464.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_birds_insects"))) {
  465.                 play("S_calm_birds_insects", 300);
  466.             }
  467.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  468.                 play("S_calm_forest", 300);
  469.             }
  470.            
  471.             break;
  472.         case "summer":
  473.        
  474.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_leaf_breeze_warm"))||!whatIsPlaying.stream().anyMatch(n -> n.endsWith("insect_leaf_breeze_warm"))) {
  475.                 play("S_leaf_breeze_warm", 300);
  476.             }
  477.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("insect_leaf_breeze_warm"))||!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_leaf_breeze_warm"))) {
  478.                 play("S_insect_leaf_breeze_warm", 300);
  479.             }
  480.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_birds_2"))) {
  481.                 play("S_birds_2", 300);
  482.             }
  483.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  484.                 play("S_calm_forest", 300);
  485.             }
  486.            
  487.             break;
  488.  
  489.         case "fall":
  490.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  491.                 play("S_calm_forest", 300);
  492.             }
  493.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_birds_insects"))) {
  494.                 play("S_calm_birds_insects", 300);
  495.             }
  496.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_cold_wind"))) {
  497.                 play("S_calm_cold_wind", 100);
  498.             }
  499.             break;
  500.         case "winter":
  501.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  502.                 play("S_calm_forest", 100);
  503.             }
  504.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_cold_wind"))) {
  505.                 play("S_calm_cold_wind", 100);
  506.             }
  507.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cold_wind"))) {
  508.                 play("S_cold_wind", 50);
  509.             }
  510.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cold_wind_2"))) {
  511.                 play("S_cold_wind_2", 50);
  512.             }
  513.             break;
  514.  
  515.         }
  516.         status = 0;
  517.     }
  518.  
  519.     static void seasonNightCycleAmbienceStartFromSilence() {
  520.  
  521.         String season = getSeason();
  522.         switch (season) {
  523.         case "spring":
  524.            
  525.            
  526.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_leaf_breeze_warm"))) {
  527.                 play("S_leaf_breeze_warm", 30);
  528.             }
  529.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_birds_insects"))) {
  530.                 play("S_calm_birds_insects", 50);
  531.             }
  532.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  533.                 play("S_calm_forest", 100);
  534.             }
  535.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cricket"))) {
  536.                 play("S_cricket", 200);
  537.             }
  538.            
  539.             break;
  540.         case "summer":
  541.        
  542.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_leaf_breeze_warm"))) {
  543.                 play("S_leaf_breeze_warm", 30);
  544.             }
  545.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_birds_insects"))) {
  546.                 play("S_calm_birds_insects", 50);
  547.             }
  548.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  549.                 play("S_calm_forest", 50);
  550.             }
  551.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cricket"))) {
  552.                 play("S_cricket", 200);
  553.             }
  554.            
  555.             break;
  556.  
  557.         case "fall":
  558.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_forest"))) {
  559.                 play("S_calm_forest", 30);
  560.             }
  561.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_cold_wind"))) {
  562.                 play("S_calm_cold_wind", 200);
  563.             }
  564.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cold_wind_2"))) {
  565.                 play("S_cold_wind_2", 50);
  566.             }
  567.             break;
  568.         case "winter":
  569.          
  570.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_calm_cold_wind"))) {
  571.                 play("S_calm_cold_wind", 100);
  572.             }
  573.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cold_wind"))) {
  574.                 play("S_cold_wind", 50);
  575.             }
  576.             if(!whatIsPlaying.stream().anyMatch(n -> n.endsWith("_cold_wind_2"))) {
  577.                 play("S_cold_wind_2", 50);
  578.             }
  579.             break;
  580.  
  581.         }
  582.  
  583.         status = 0;
  584.  
  585.     }
  586.     static void caveAmbience () {
  587.         //-> Spiele sehr selten die zur Jahreszeit gehörigen Cave Tunes (5% maybe?)
  588.         String season = getSeason();
  589.  
  590.         switch(season){
  591.         case "spring":
  592.             play("SINGLE_spring_cave", 50);
  593.         break;
  594.         case "summer":
  595.             play("SINGLE_summer_cave", 50);
  596.         break;
  597.         case "fall":
  598.             play("SINGLE_fall_cave", 50);
  599.         break;
  600.         case "winter":
  601.             play("SINGLE_winter_cave", 16);
  602.             play("SINGLE_winter_cave_2", 16);
  603.             play("SINGLE_winter_cave_3", 16);
  604.         break;  
  605.         }
  606.         status = 1;
  607.     }
  608.  
  609.    
  610.    
  611.     private static void playEndSound(String sound) {
  612.         if (sound.startsWith("M_") || sound.startsWith("S_")) {
  613.             play("E_" + sound.substring(2));
  614.         }
  615.     }
  616.     static void seasonAmbienceEnd() {
  617.         for(String s : whatIsPlaying) {
  618.             playEndSound(s);
  619.         }
  620.     }
  621.    
  622.     public static void setCurrentStatus(boolean currentStatus) {
  623.         SoundLogic.currentStatus = currentStatus;
  624.     }
  625.     private static long getCurrentTick() {
  626.         return System.currentTimeMillis()/1000;
  627.     }
  628.     private static String getSeason() {
  629.         return SoundLogic.season;
  630.     }
  631.     public static void setSeason(String season) {
  632.         SoundLogic.season = season;
  633.     }
  634.     static void play(String name, String name2, int probabilityForTheFirstToPlay) {
  635.         if(random.nextInt(1000) < probabilityForTheFirstToPlay) {
  636.             play(name);
  637.         }else {
  638.             play(name2);
  639.         }
  640.     }
  641.     static void play(String name) {
  642.         play(name, 1001);
  643.     }
  644.     static void play(String name, int probability) {
  645.         System.out.println("Es spielt gerade " + name);
  646.         whatIsPlaying.add(name);
  647.     }
  648.     static void clearlast(int size) {
  649.         for (int i = 0; i <= size; i++) {
  650.             whatIsPlaying.remove(i);
  651.             i--;
  652.         }
  653.     }
  654.     static void setStatus(short status) {
  655.         SoundLogic.status = status;
  656.     }
  657. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement